คำถามติดแท็ก django-models

สำหรับคำถามเกี่ยวกับการใช้คลาสโมเดลจากเว็บเฟรมเวิร์ก Django

17
ความแตกต่าง null = True, blank = True ใน django
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ เมื่อเราเพิ่มฟิลด์ฐานข้อมูลใน django โดยทั่วไปเราเขียน: models.CharField(max_length=100, null=True, blank=True) เช่นเดียวกับที่ทำกับForeignKey, DecimalFieldฯลฯ คืออะไรแตกต่างขั้นพื้นฐานในการมี null=True เท่านั้น blank=True เท่านั้น null=True, blank=True ในแง่ที่แตกต่างกัน ( CharField, ForeignKey, ManyToManyField, DateTimeField) สาขา ข้อดี / ข้อเสียของการใช้ 1/2/3 คืออะไร

15
ฉันจะทำไม่เท่ากันในการกรองชุดการสืบค้น Django ได้อย่างไร
ใน Django model QuerySets ฉันเห็นว่ามี__gtและ__ltสำหรับค่าเปรียบเทียบ แต่มี a __ne/ !=/ <>( ไม่เท่ากับ ?) ฉันต้องการที่จะกรองโดยใช้ไม่เท่ากับ: ตัวอย่าง: Model: bool a; int x; ฉันต้องการ results = Model.objects.exclude(a=true, x!=5) !=ไม่ไวยากรณ์ที่ถูกต้อง ฉันพยายาม__neแล้ว, <>. ฉันสิ้นสุดการใช้: results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)

10
วิธีการปิดการใช้งานข้อ จำกัด กุญแจต่างประเทศชั่วคราวใน MySQL?
เป็นไปได้หรือไม่ที่จะปิดการใช้งานข้อ จำกัด ใน MySQL ชั่วคราว? ฉันมี Django สองรุ่นโดยแต่ละรุ่นมี ForeignKey อยู่หนึ่งรุ่น การลบอินสแตนซ์ของโมเดลส่งคืนข้อผิดพลาดเนื่องจากข้อ จำกัด ForeignKey: cursor.execute("DELETE FROM myapp_item WHERE n = %s", n) transaction.commit_unless_managed() #a foreign key constraint fails here cursor.execute("DELETE FROM myapp_style WHERE n = %s", n) transaction.commit_unless_managed() เป็นไปได้หรือไม่ที่จะปิดการใช้งานข้อ จำกัด ชั่วคราวและลบต่อไป?

9
"กระสุน" ใน Django คืออะไร
เมื่อฉันอ่านรหัส Django ฉันมักจะเห็นในรูปแบบสิ่งที่เรียกว่า "กระสุน" ฉันไม่แน่ใจว่าสิ่งนี้คืออะไร แต่ฉันรู้ว่ามันเกี่ยวข้องกับ URL กระสุนนี้ควรจะใช้อย่างไรและเมื่อไหร่? (ฉันได้อ่านคำจำกัดความในอภิธานศัพท์นี้แล้ว)

7
การกรองสำหรับชื่อว่างหรือ NULL ในชุดแบบสอบถาม
ฉันมีfirst_name, last_nameและalias(อุปกรณ์เสริม) ซึ่งผมต้องค้นหา ดังนั้นฉันต้องการแบบสอบถามเพื่อให้ชื่อทั้งหมดที่มีชื่อแทน เฉพาะในกรณีที่ฉันสามารถทำได้: Name.objects.filter(alias!="") ดังนั้นสิ่งที่เทียบเท่ากับข้างต้นคืออะไร?

12
การขยายโมเดลผู้ใช้ด้วยฟิลด์ที่กำหนดเองใน Django
อะไรคือวิธีที่ดีที่สุดในการขยายโมเดลผู้ใช้ (รวมกับแอพตรวจสอบความถูกต้องของ Django) ด้วยฟิลด์ที่กำหนดเอง ฉันอาจต้องการใช้อีเมลเป็นชื่อผู้ใช้ (เพื่อจุดประสงค์ในการตรวจสอบ) ฉันได้เห็นวิธีการบาง อย่างแล้ว แต่ไม่สามารถตัดสินใจได้ว่าวิธีไหนดีที่สุด


2
วิธีการกำหนดสองฟิลด์“ ไม่ซ้ำกัน” เป็นคู่
มีวิธีกำหนดเขตข้อมูลสองแห่งที่ไม่เหมือนใครใน Django หรือไม่? ฉันมีตารางเล่ม (ของวารสาร) และฉันไม่ต้องการมากกว่าหนึ่งหมายเลขเล่มสำหรับวารสารเดียวกัน class Volume(models.Model): id = models.AutoField(primary_key=True) journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal") volume_number = models.CharField('Volume Number', max_length=100) comments = models.TextField('Comments', max_length=4000, blank=True) ฉันพยายามใส่unique = Trueเป็นแอตทริบิวต์ในฟิลด์journal_idและvolume_numberไม่ทำงาน

8
on_delete ทำในรุ่น Django ได้อย่างไร
ฉันค่อนข้างคุ้นเคยกับ Django แต่เมื่อไม่นานมานี้พบว่ามีon_delete=models.CASCADEตัวเลือกสำหรับรุ่นฉันค้นหาเอกสารเหมือนกัน แต่ไม่พบอะไรมากไปกว่า: เปลี่ยนเป็น Django 1.9: on_deleteตอนนี้สามารถใช้เป็นอาร์กิวเมนต์ตำแหน่งที่สอง (ก่อนหน้านี้มันมักจะถูกส่งผ่านเป็นอาร์กิวเมนต์คำหลักเท่านั้น) มันจะเป็นข้อโต้แย้งที่จำเป็นใน Django 2.0 กรณีตัวอย่างของการใช้งานคือ from django.db import models class Car(models.Model): manufacturer = models.ForeignKey( 'Manufacturer', on_delete=models.CASCADE, ) # ... class Manufacturer(models.Model): # ... pass on_delete ทำหน้าที่อะไร ( ฉันเดาการกระทำที่จะทำถ้าแบบจำลองถูกลบ ) อะไรmodels.CASCADEทำอย่างไร ( คำแนะนำใด ๆ ในเอกสาร ) มีตัวเลือกอื่น ๆ อีกบ้าง ( ถ้าฉันเดาถูกต้อง ) เอกสารสำหรับที่อยู่อาศัยนี้อยู่ที่ไหน

9
วิธีการสืบค้นเป็น GROUP BY ใน django?
ฉันสอบถามรุ่น: Members.objects.all() และมันจะส่งคืน: Eric, Salesman, X-Shop Freddie, Manager, X2-Shop Teddy, Salesman, X2-Shop Sean, Manager, X2-Shop สิ่งที่ฉันต้องการคือการรู้วิธีที่ดีที่สุดในการยิงgroup_byแบบสอบถามไปยังฐานข้อมูลของฉันเช่น: Members.objects.all().group_by('designation') ซึ่งใช้งานไม่ได้แน่นอน ฉันรู้ว่าเราสามารถทำเทคนิคบางอย่างdjango/db/models/query.pyได้ แต่ฉันแค่อยากรู้ว่าจะทำยังไงโดยไม่ต้องทำการปะ

13
“ list_display” ใน Django ModelAdmin สามารถแสดงคุณสมบัติของช่อง ForeignKey ได้หรือไม่?
ฉันมีPersonรูปแบบที่มีความสัมพันธ์กับคีย์ต่างประเทศBookซึ่งมีหลายฟิลด์ แต่ฉันกังวลมากที่สุดauthor(CharField มาตรฐาน) ในPersonAdminแบบจำลองของฉันฉันต้องการแสดงbook.authorโดยใช้list_display: class PersonAdmin(admin.ModelAdmin): list_display = ['book.author',] ฉันได้ลองวิธีการทั้งหมดที่ชัดเจนในการทำเช่นนั้นแล้ว แต่ดูเหมือนว่าจะไม่มีอะไรทำงาน ข้อเสนอแนะใด ๆ

25
เมื่อบันทึกคุณจะตรวจสอบว่ามีการเปลี่ยนแปลงฟิลด์ได้อย่างไร
ในแบบจำลองของฉันฉันมี: class Alias(MyBaseModel): remote_image = models.URLField(max_length=500, null=True, help_text="A URL that is downloaded and cached for the image. Only used when the alias is made") image = models.ImageField(upload_to='alias', default='alias-default.png', help_text="An image representing the alias") def save(self, *args, **kw): if (not self.image or self.image.name == 'alias-default.png') and self.remote_image : try : data …

4
ความแตกต่างระหว่าง select_related และ prefetch_related ใน Django ORM คืออะไร
ใน Django doc select_related() "ตาม" ความสัมพันธ์กับคีย์ต่างประเทศเลือกข้อมูลวัตถุที่เกี่ยวข้องเพิ่มเติมเมื่อเรียกใช้งานแบบสอบถาม prefetch_related() ทำการค้นหาแยกต่างหากสำหรับแต่ละความสัมพันธ์และทำการ "เข้าร่วม" ใน Python การทำการเข้าร่วมใน python หมายความว่าอย่างไร บางคนสามารถอธิบายด้วยตัวอย่างได้หรือไม่? ความเข้าใจของฉันคือว่าสำหรับความสัมพันธ์ต่างประเทศที่สำคัญการใช้select_related; และสำหรับความสัมพันธ์ M2M, prefetch_relatedการใช้งาน ถูกต้องหรือไม่

13
Django auto_now และ auto_now_add
สำหรับ Django 1.1 ฉันมีสิ่งนี้ใน models.py ของฉัน: class User(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) เมื่อทำการอัพเดตแถวฉันจะได้รับ: [Sun Nov 15 02:18:12 2009] [error] /home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84: Warning: Column 'created' cannot be null [Sun Nov 15 02:18:12 2009] [error] return self.cursor.execute(query, args) ส่วนที่เกี่ยวข้องของฐานข้อมูลของฉันคือ: `created` datetime NOT NULL, `modified` datetime NOT NULL, นี่เป็นสาเหตุของความกังวลหรือไม่? คำถามด้าน: ในเครื่องมือผู้ดูแลระบบของฉันทั้งสองฟิลด์จะไม่ปรากฏขึ้น คาดหวังหรือไม่?

3
Django Model () vs Model.objects.create ()
ความแตกต่างระหว่างการรันสองคำสั่งคืออะไร: foo = FooModel() และ bar = BarModel.objects.create() ไม่คนที่สองทันทีสร้างBarModelในฐานข้อมูลในขณะที่สำหรับFooModelการsave()วิธีการที่จะต้องมีการเรียกอย่างชัดเจนเพื่อเก็บไว้ในฐานข้อมูลหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.