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

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


6
ใน django โมเดลมีฟิลด์เวลาประทับเริ่มต้นหรือไม่
ใน django - มีฟิลด์การประทับเวลาเริ่มต้นสำหรับวัตถุทั้งหมดหรือไม่ นั่นคือฉันต้องประกาศฟิลด์ 'การประทับเวลา' อย่างชัดเจนสำหรับ 'สร้างเมื่อ' ในโมเดลของฉันหรือมีวิธีที่จะทำให้สิ่งนี้เป็นไปโดยอัตโนมัติ?

5
แยก Models.py ออกเป็นหลายไฟล์
ฉันกำลังพยายามแยกmodels.pyแอปของฉันออกเป็นหลาย ๆ ไฟล์: การเดาครั้งแรกของฉันคือทำสิ่งนี้: myproject/ settings.py manage.py urls.py __init__.py app1/ views.py __init__.py models/ __init__.py model1.py model2.py app2/ views.py __init__.py models/ __init__.py model3.py model4.py วิธีนี้ใช้ไม่ได้ผลฉันพบสิ่งนี้แต่ในโซลูชันนี้ฉันยังคงมีปัญหาเมื่อฉันเรียกใช้python manage.py sqlall app1ฉันได้รับสิ่งที่ต้องการ: BEGIN; CREATE TABLE "product_product" ( "id" serial NOT NULL PRIMARY KEY, "store_id" integer NOT NULL ) ; -- The following references should be …

3
Models.py ได้รับจำนวนมากวิธีที่ดีที่สุดในการทำลายคืออะไร
คำแนะนำจากหัวหน้างานของฉัน: "ฉันต้องการหลีกเลี่ยงการใส่ตรรกะใด ๆ ในส่วนmodels.pyนี้เรามาใช้เป็นเพียงคลาสสำหรับการเข้าถึงฐานข้อมูลและเก็บตรรกะทั้งหมดไว้ในคลาสภายนอกที่ใช้คลาสโมเดลหรือรวมเอาไว้" ฉันรู้สึกว่านี่เป็นวิธีที่ผิดที่จะไป ฉันรู้สึกว่าการไม่ใช้ตรรกะจากโมเดลเพียงเพื่อให้ไฟล์มีขนาดเล็กเป็นความคิดที่ไม่ดี ถ้าตรรกะดีที่สุดในโมเดลนั่นคือจุดที่ควรไปโดยไม่คำนึงถึงขนาดไฟล์ มีวิธีง่ายๆในการใช้งาน ได้แก่ ? ใน PHP-speak ฉันต้องการเสนอต่อหัวหน้างานว่าเราเพิ่งmodels.pyรวม () คลาสโมเดลจากที่อื่น ๆ ตามแนวคิดแล้วสิ่งนี้จะช่วยให้โมเดลมีตรรกะทั้งหมดที่เราต้องการ แต่ลดขนาดไฟล์ลงโดยการเพิ่มจำนวนไฟล์ (ซึ่งนำไปสู่ปัญหาการควบคุมการแก้ไขน้อยลงเช่นความขัดแย้ง ฯลฯ ) ดังนั้นมีวิธีง่ายๆในการลบคลาสโมเดลออกจากไฟล์ models.py แต่โมเดลยังคงใช้งานได้กับเครื่องมือ Django ทั้งหมดหรือไม่? หรือมีวิธีแก้ไขปัญหาทั่วไปที่แตกต่างอย่างสิ้นเชิง แต่สวยงามสำหรับปัญหาทั่วไปของไฟล์ models.py "ขนาดใหญ่" หรือไม่? ข้อมูลใด ๆ จะได้รับการชื่นชม

4
Django กรองแบบกลุ่มต่อกลุ่มด้วยประกอบด้วย
ฉันพยายามกรองวัตถุจำนวนมากผ่านความสัมพันธ์แบบกลุ่มต่อกลุ่ม เนื่องจากtrigger_rolesช่องอาจมีหลายรายการฉันจึงลองใช้containsตัวกรอง แต่ตามที่ออกแบบมาเพื่อใช้กับสตริงฉันค่อนข้างทำอะไรไม่ถูกเลยว่าฉันควรกรองความสัมพันธ์นี้อย่างไร (คุณสามารถเพิกเฉยต่อvalues_list()atm ได้) ฟังก์ชันนี้แนบกับโปรไฟล์ผู้ใช้: def getVisiblePackages(self): visiblePackages = {} for product in self.products.all(): moduleDict = {} for module in product.module_set.all(): pkgList = [] involvedStatus = module.workflow_set.filter(trigger_roles__contains=self.role.id,allowed=True).values_list('current_state', flat=True) โมเดลเวิร์กโฟลว์ของฉันมีลักษณะดังนี้ (แบบง่าย): class Workflow(models.Model): module = models.ForeignKey(Module) current_state = models.ForeignKey(Status) next_state = models.ForeignKey(Status) allowed = models.BooleanField(default=False) involved_roles = models.ManyToManyField(Role, blank=True, null=True) …

6
Django ModelForm: บันทึก (กระทำ = เท็จ) ใช้สำหรับอะไร?
เหตุใดฉันจึงใช้save(commit=False)แทนที่จะสร้างออบเจ็กต์ฟอร์มจากModelFormคลาสย่อยและเรียกใช้is_valid()เพื่อตรวจสอบความถูกต้องทั้งฟอร์มและโมเดล กล่าวอีกนัยหนึ่งคือsave(commit=False)อะไร? หากคุณไม่ทราบพวกคุณช่วยจัดเตรียมสถานการณ์สมมติที่อาจเป็นประโยชน์ได้หรือไม่?

13
ค่า BooleanField ที่ไม่ซ้ำกันใน Django?
สมมติว่า models.py ของฉันเป็นเช่นนั้น: class Character(models.Model): name = models.CharField(max_length=255) is_the_chosen_one = models.BooleanField() ฉันต้องการให้มีเพียงหนึ่งในCharacterอินสแตนซ์ของฉันis_the_chosen_one == Trueและอื่น ๆ ทั้งหมดที่จะมีis_the_chosen_one == Falseทั้งหมดที่จะมี ฉันจะแน่ใจได้อย่างไรว่าข้อ จำกัด ด้านความเป็นเอกลักษณ์นี้ได้รับการเคารพ คะแนนสูงสุดสำหรับคำตอบที่คำนึงถึงความสำคัญของการเคารพข้อ จำกัด ในระดับฐานข้อมูลโมเดลและ (ผู้ดูแลระบบ)!

5
สัญญาณ Django เทียบกับวิธีการบันทึกที่ลบล้าง
ฉันมีปัญหาในการคาดเดาสิ่งนี้ ตอนนี้ฉันมีโมเดลที่มีลักษณะเช่นนี้: def Review(models.Model) ...fields... overall_score = models.FloatField(blank=True) def Score(models.Model) review = models.ForeignKey(Review) question = models.TextField() grade = models.IntegerField() การตรวจสอบมี "คะแนน" หลายแบบโดย overall_score คือค่าเฉลี่ยของคะแนน เมื่อมีการบันทึกบทวิจารณ์หรือคะแนนฉันจำเป็นต้องคำนวณค่าเฉลี่ย Overall_score ใหม่ ตอนนี้ฉันใช้วิธีบันทึกที่ถูกลบล้าง การใช้เครื่องส่งสัญญาณของ Django จะมีประโยชน์หรือไม่?

7
Django - การแทนที่เมธอด Model.create ()?
เอกสาร Djangoเพียงตัวอย่างรายการเอาชนะและsave() delete()อย่างไรก็ตามฉันต้องการกำหนดการประมวลผลพิเศษสำหรับโมเดลของฉันเมื่อสร้างขึ้นเท่านั้น สำหรับทุกคนที่คุ้นเคยกับ Rails มันจะเทียบเท่ากับการสร้าง:before_createตัวกรอง เป็นไปได้หรือไม่

9
รับวัตถุโมเดล Django ที่เกี่ยวข้องทั้งหมด
ฉันจะรับรายการโมเดลวัตถุทั้งหมดที่มี ForeignKey ชี้ไปที่วัตถุได้อย่างไร (บางอย่างเช่นหน้ายืนยันการลบในผู้ดูแลระบบ Django ก่อนที่จะลบ CASCADE) ฉันกำลังพยายามหาวิธีทั่วไปในการรวมวัตถุที่ซ้ำกันในฐานข้อมูล โดยทั่วไปฉันต้องการให้วัตถุทั้งหมดที่มี ForeignKeys ชี้ไปที่วัตถุ "B" เพื่ออัปเดตให้ชี้ไปที่วัตถุ "A" ดังนั้นฉันจึงสามารถลบ "B" ได้โดยไม่สูญเสียสิ่งที่สำคัญไป ขอบคุณสำหรับความช่วยเหลือของคุณ!

6
django แบบจำลองนามธรรมเทียบกับการถ่ายทอดทางพันธุกรรมปกติ
นอกจากไวยากรณ์แล้วอะไรคือความแตกต่างระหว่างการใช้โมเดลนามธรรม django และการใช้การสืบทอด Python ธรรมดากับโมเดล django ข้อดีและข้อเสีย? UPDATE: ฉันคิดว่าคำถามของฉันเข้าใจผิดและฉันได้รับคำตอบสำหรับความแตกต่างระหว่างโมเดลนามธรรมและคลาสที่สืบทอดมาจาก django.db.models.Model ฉันต้องการทราบความแตกต่างระหว่างคลาสโมเดลที่สืบทอดมาจากคลาส django abstract (Meta: abstract = True) และคลาส Python ธรรมดาที่สืบทอดมาจาก say, 'object' (ไม่ใช่ model.Model) นี่คือตัวอย่าง: class User(object): first_name = models.CharField(.. def get_username(self): return self.username class User(models.Model): first_name = models.CharField(... def get_username(self): return self.username class Meta: abstract = True class Employee(User): …

4
ขนาดสูงสุดของ 'max_length' ใน Django คือเท่าใด
นี่คือโมเดลของฉัน: class Position(models.Model): map = models.ForeignKey(Map,primary_key=True) #members=models.CharField(max_length=200) LatLng = models.CharField(max_length=40000) infowindow = models.CharField(max_length=40000) แต่มันวิ่งไม่ได้. ขนาดสูงสุดของmax_lengthพารามิเตอร์คืออะไร?

2
TypeError: วัตถุ 'RelatedManager' ไม่สามารถทำซ้ำได้
Django ฉันมีรุ่นต่อไป: class Group(models.Model): name = models.CharField(max_length=100) parent_group = models.ManyToManyField("self", blank=True) def __unicode__(self): return self.name class Block(models.Model): name = models.CharField(max_length=100) app = models.CharField(max_length=100) group = models.ForeignKey(Group) def __unicode__(self): return self.name พูดว่าบล็อกb1มีกลุ่มg1 โดยมันชื่อฉันต้องการที่จะได้รับบล็อคทั้งหมดจากกลุ่มG1 ฉันเขียนฟังก์ชันเรียกซ้ำถัดไป: def get_blocks(group): def get_needed_blocks(group): for block in group.block_set: blocks.append(block) if group.parent_group is not None: get_needed_blocks(group.parent_group) blocks = …

7
django syncdb และโมเดลที่อัปเดต
ฉันเพิ่งอัปเดตโมเดลของฉันเพิ่ม BooleanField เข้าไปอย่างไรก็ตามเมื่อฉันทำpython manage.py syncdbมันจะไม่เพิ่มฟิลด์ใหม่ลงในฐานข้อมูลสำหรับโมเดล ฉันจะแก้ไขปัญหานี้ได้อย่างไร?


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