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

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

2
สามารถส่งพจนานุกรมไปยังโมเดล django เมื่อสร้างได้หรือไม่
มันเป็นไปได้ที่จะทำบางสิ่งบางอย่างที่คล้ายกันนี้มีlist, dictionaryหรือสิ่งอื่นใด data_dict = { 'title' : 'awesome title', 'body' : 'great body of text', } Model.objects.create(data_dict) จะดียิ่งขึ้นถ้าฉันสามารถขยายได้: Model.objects.create(data_dict, extra='hello', extra2='world')

1
ฉันสามารถสร้างฟิลด์คีย์ต่างประเทศหรือไม่ก็ได้ในโมเดล Django
ฉันมีรหัสนี้ subject = models.ForeignKey(subjects) location = models.ForeignKey(location) publisher = models.ForeignKey(publisher) เป็นไปไม่ได้เสมอไปที่ฉันจะมีหนังสือสามคุณค่า ดังนั้นบางครั้งถ้าฉันไม่รู้เรื่องหรือสถานที่หรือสำนักพิมพ์ จากนั้นฉันต้องการให้มันว่างเปล่า แต่ถ้าฉันมีฉันต้องเลือกกล่องเพื่อเลือก เป็นไปได้เช่นนั้น

3
Django - จะสร้างไฟล์และบันทึกลงใน FileField ของโมเดลได้อย่างไร
นี่คือโมเดลของฉัน สิ่งที่ฉันต้องการทำคือสร้างไฟล์ใหม่และเขียนทับไฟล์ที่มีอยู่ทุกครั้งที่บันทึกอินสแตนซ์โมเดล: class Kitten(models.Model): claw_size = ... license_file = models.FileField(blank=True, upload_to='license') def save(self, *args, **kwargs): #Generate a new license file overwriting any previous version #and update file path self.license_file = ??? super(Request,self).save(*args, **kwargs) ฉันเห็นเอกสารมากมายเกี่ยวกับวิธีอัปโหลดไฟล์ แต่ฉันจะสร้างไฟล์กำหนดให้กับฟิลด์โมเดลและให้ Django จัดเก็บในตำแหน่งที่ถูกต้องได้อย่างไร

9
Django“ xxxxxx Object” แสดงการปรับแต่งในแถบด้านข้างการดำเนินการของผู้ดูแลระบบ
ฉันต้องการเปลี่ยนพฤติกรรมเริ่มต้นของการเปลี่ยนแปลงล่าสุดของผู้ดูแลระบบแถบด้านข้างแสดงชื่อของ "วัตถุ" ที่เพิ่มเข้ามา ดูภาพด้านล่าง: ฉันต้องการเปลี่ยนวิธีการตั้งชื่อใน Admin ตามหลักการแล้วฉันต้องการที่จะเปลี่ยนจาก "MyModelName object" เป็นในตัวอย่างออบเจ็กต์ "Policy" เช่น "Policy: {{value of the policy's" Policy Name "}} ฉันคิดว่า__unicode__สำหรับแบบจำลองผู้ป่วยของฉันจัดการสิ่งนี้ แต่ดูเหมือนจะไม่ ขอขอบคุณความช่วยเหลือใด ๆ

10
ตั้งค่า Django IntegerField ตามตัวเลือก = … name
เมื่อคุณมีฟิลด์โมเดลที่มีตัวเลือกตัวเลือกคุณมักจะมีค่าเวทย์มนตร์ที่เกี่ยวข้องกับชื่อที่มนุษย์อ่านได้ ใน Django มีวิธีที่สะดวกในการตั้งค่าฟิลด์เหล่านี้ด้วยชื่อที่มนุษย์อ่านได้แทนค่าหรือไม่? พิจารณารุ่นนี้: class Thing(models.Model): PRIORITIES = ( (0, 'Low'), (1, 'Normal'), (2, 'High'), ) priority = models.IntegerField(default=0, choices=PRIORITIES) ในบางครั้งเรามีอินสแตนซ์ Thing และเราต้องการกำหนดลำดับความสำคัญ เห็นได้ชัดว่าคุณทำได้ thing.priority = 1 แต่นั่นบังคับให้คุณจำการแมป Value-Name ของ PRIORITIES สิ่งนี้ใช้ไม่ได้: thing.priority = 'Normal' # Throws ValueError on .save() ขณะนี้ฉันมีวิธีแก้ปัญหาโง่ ๆ นี้: thing.priority = dict((key,value) for (value,key) in …

14
ปรับขนาดฟิลด์ใน Django Admin
Django มีแนวโน้มที่จะเติมช่องว่างแนวนอนเมื่อเพิ่มหรือแก้ไขรายการในผู้ดูแลระบบ แต่ในบางกรณีจะเป็นการสิ้นเปลืองพื้นที่อย่างแท้จริงเมื่อแก้ไขฟิลด์วันที่กว้าง 8 อักขระหรือ CharField เช่นกัน 6 หรือ 8 กว้างตัวอักษรจากนั้นช่องแก้ไขจะเพิ่มขึ้นเป็น 15 หรือ 20 ตัวอักษร ฉันจะบอกผู้ดูแลระบบได้อย่างไรว่ากล่องข้อความควรกว้างแค่ไหนหรือความสูงของกล่องแก้ไข TextField

6
จะรับ QuerySet ของแถวทั้งหมดพร้อมฟิลด์เฉพาะสำหรับแต่ละแถวได้อย่างไร
ฉันมีแบบจำลองEmployeesและต้องการมี QuerySet ของแถวทั้งหมด แต่มีฟิลด์เฉพาะบางฟิลด์จากแต่ละแถวไม่ใช่ทุกฟิลด์ ฉันรู้วิธีสืบค้นแถวทั้งหมดจากตาราง / โมเดล: Employees.objects.all() ฉันต้องการทราบวิธีการเลือกฟิลด์สำหรับแต่ละองค์ประกอบ Queryset ฉันจะทำเช่นนั้นได้อย่างไร?

8
การตั้งค่าที่เลือกในแบบฟอร์ม Django ChoiceField
นี่คือการประกาศเขตข้อมูลในรูปแบบ: max_number = forms.ChoiceField(widget = forms.Select(), choices = ([('1','1'), ('2','2'),('3','3'), ]), initial='3', required = True,) ฉันต้องการตั้งค่าเริ่มต้นให้เป็น3และดูเหมือนจะไม่ได้ผล ฉันเล่นเกี่ยวกับพารามิเตอร์คำพูด / ไม่มีเครื่องหมายคำพูด ฯลฯ ... แต่ไม่มีการเปลี่ยนแปลง ใครช่วยให้คำตอบที่ชัดเจนถ้าเป็นไปได้? และ / หรือการปรับแต่งที่จำเป็นในข้อมูลโค้ดของฉัน? ฉันใช้ Django 1.0

3
Django - การกรองคุณสมบัติคีย์ต่างประเทศ
ฉันกำลังพยายามกรองตารางใน Django ตามค่าของฟิลด์เฉพาะของไฟล์ForeignKey. ตัวอย่างเช่นฉันมีสองรุ่น: class Asset(models.Model): name = models.TextField(max_length=150) project = models.ForeignKey('Project') class Project(models.Model): name = models.TextField(max_length=150) ฉันต้องการกรองรายการสินทรัพย์ของฉันตามชื่อของโครงการที่เกี่ยวข้อง ขณะนี้ฉันกำลังดำเนินการสองคำค้นหา: project_list = Project.objects.filter(name__contains="Foo") asset_list = Asset.objects.filter(desc__contains=filter, project__in=project_list).order_by('desc') ฉันสงสัยว่ามีวิธีระบุการกรองประเภทนี้ในแบบสอบถามหลักหรือไม่?

6
รับชื่อคลาสของโมเดล django
ฉันมีโมเดล django: class Book(models.Model): [..] และฉันต้องการให้ชื่อรุ่นเป็นสตริง: 'จอง' เมื่อฉันพยายามทำให้เป็นแบบนี้: Book.__class__.__name__ มันส่งคืน 'ModelBase' ความคิดใด ๆ ?

2
Django: ตั้งค่าคีย์ต่างประเทศโดยใช้จำนวนเต็ม?
มีวิธีตั้งค่าความสัมพันธ์คีย์ต่างประเทศโดยใช้รหัสจำนวนเต็มของโมเดลหรือไม่? นี่จะเป็นไปเพื่อวัตถุประสงค์ในการเพิ่มประสิทธิภาพ ตัวอย่างเช่นสมมติว่าฉันมีรูปแบบพนักงาน: class Employee(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) type = models.ForeignKey('EmployeeType') และ EmployeeType(models.Model): type = models.CharField(max_length=100) ฉันต้องการความยืดหยุ่นในการมีประเภทพนักงานไม่ จำกัด แต่ในแอปพลิเคชันที่ปรับใช้แล้วจะมีเพียงประเภทเดียวดังนั้นฉันจึงสงสัยว่ามีวิธีฮาร์ดโค้ดรหัสและตั้งค่าความสัมพันธ์ด้วยวิธีนี้หรือไม่ วิธีนี้ฉันสามารถหลีกเลี่ยงการเรียกฐานข้อมูลเพื่อรับวัตถุ EmployeeType ก่อน

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


15
ปัญหาเกี่ยวกับประเภทเนื้อหาเมื่อโหลดฟิกซ์เจอร์ใน Django
ฉันมีปัญหาในการโหลดโปรแกรม Django ลงในฐานข้อมูล MySQL เนื่องจากความขัดแย้งของประเภทเนื้อหา ก่อนอื่นฉันลองทิ้งข้อมูลจากแอปของฉันเท่านั้นดังนี้: ./manage.py dumpdata escola > fixture.json แต่ฉันยังคงได้รับปัญหาคีย์ต่างประเทศหายไปเนื่องจากแอป "escola" ของฉันใช้ตารางจากแอปพลิเคชันอื่น ฉันยังคงเพิ่มแอปพลิเคชันเพิ่มเติมจนกว่าจะถึงสิ่งนี้: ./manage.py dumpdata contenttypes auth escola > fixture.json ตอนนี้ปัญหาคือการละเมิดข้อ จำกัด ต่อไปนี้เมื่อฉันพยายามโหลดข้อมูลเป็นอุปกรณ์ทดสอบ: IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2") ดูเหมือนว่าปัญหาคือ Django กำลังพยายามสร้างประเภทเนื้อหาแบบไดนามิกโดยมีค่าคีย์หลักที่แตกต่างกันซึ่งขัดแย้งกับค่าคีย์หลักจากฟิกซ์เจอร์ สิ่งนี้ดูเหมือนจะเหมือนกับข้อบกพร่องที่บันทึกไว้ที่นี่: http://code.djangoproject.com/ticket/7052 ปัญหาคือวิธีแก้ปัญหาที่แนะนำคือทิ้งแอปประเภทเนื้อหาที่ฉันทำอยู่แล้ว!? สิ่งที่ช่วยให้? หากสร้างความแตกต่างฉันมีสิทธิ์แบบจำลองที่กำหนดเองตามที่ระบุไว้ที่นี่: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions

6
วิธีตั้งค่าเริ่มต้นของฟิลด์โมเดล Django เป็นการเรียกใช้ฟังก์ชัน / เรียกได้ (เช่นวันที่ที่สัมพันธ์กับเวลาของการสร้างโมเดลอ็อบเจ็กต์)
แก้ไข: ฉันจะตั้งค่าเริ่มต้นของฟิลด์ Django เป็นฟังก์ชันที่ได้รับการประเมินทุกครั้งที่สร้างโมเดลอ็อบเจ็กต์ใหม่ได้อย่างไร ฉันต้องการทำสิ่งต่อไปนี้ยกเว้นในรหัสนี้รหัสจะได้รับการประเมินครั้งเดียวและตั้งค่าเริ่มต้นเป็นวันที่เดียวกันสำหรับวัตถุแต่ละรุ่นที่สร้างขึ้นแทนที่จะประเมินรหัสทุกครั้งที่สร้างวัตถุแบบจำลอง: from datetime import datetime, timedelta class MyModel(models.Model): # default to 1 day from now my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1)) เดิม: ฉันต้องการสร้างค่าเริ่มต้นสำหรับพารามิเตอร์ฟังก์ชันเพื่อให้เป็นแบบไดนามิกและได้รับการเรียกใช้และตั้งค่าทุกครั้งที่เรียกฟังก์ชัน ฉันจะทำเช่นนั้นได้อย่างไร? เช่น, from datetime import datetime def mydate(date=datetime.now()): print date mydate() mydate() # prints the same thing as the previous call; but I want …

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