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

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

3
คีย์ต่างประเทศจากแอปหนึ่งไปยังอีกแอปหนึ่งใน Django
ฉันสงสัยว่าเป็นไปได้ไหมที่จะกำหนด Foreign Key ในไฟล์ models.py ใน Django ที่อ้างอิงถึงตารางในแอปอื่น กล่าวอีกนัยหนึ่งฉันมีสองแอพชื่อ cf และ profiles และใน cf / models.py ฉันมี (เหนือสิ่งอื่นใด): class Movie(models.Model): title = models.CharField(max_length=255) และในโปรไฟล์ / model.py ฉันต้องการมี: class MovieProperty(models.Model): movie = models.ForeignKey(Movie) แต่ฉันไม่สามารถทำให้มันทำงานได้ ฉันได้ลองแล้ว: movie = models.ForeignKey(cf.Movie) และฉันได้ลองนำเข้า cf.Movie ที่จุดเริ่มต้นของ models.py แต่ฉันมักจะได้รับข้อผิดพลาดเช่น: NameError: name 'User' is not defined ฉันทำผิดกฎโดยพยายามผูกสองแอพเข้าด้วยกันด้วยวิธีนี้หรือว่าฉันมีไวยากรณ์ผิด?

3
ค่าดีฟอลต์สำหรับฟิลด์ในโมเดล Django
สมมติว่าฉันมีโมเดล: class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) ขณะนี้ฉันกำลังใช้ผู้ดูแลระบบเริ่มต้นเพื่อสร้าง / แก้ไขวัตถุประเภทนี้ ฉันจะลบเขตข้อมูลbจากผู้ดูแลระบบเพื่อให้แต่ละวัตถุไม่สามารถถูกสร้างขึ้นโดยมีมูลค่าและค่อนข้างจะได้รับค่าเริ่มต้น0000000?

4
เลือก DISTINCT แต่ละคอลัมน์ใน django?
ฉันสงสัยว่ามีวิธีใดในการค้นหาใน Django ที่ไม่ใช่ " SELECT * FROM..." ที่อยู่ข้างใต้ ฉันกำลังพยายามทำ " SELECT DISTINCT columnName FROM ..." แทน โดยเฉพาะฉันมีโมเดลที่ดูเหมือน: class ProductOrder(models.Model): Product = models.CharField(max_length=20, promary_key=True) Category = models.CharField(max_length=30) Rank = models.IntegerField() โดยที่Rankเป็นอันดับภายในCategory. ฉันต้องการที่จะทำซ้ำทุกหมวดหมู่เพื่อดำเนินการบางอย่างกับแต่ละอันดับภายในหมวดหมู่นั้น ฉันต้องการรับรายการหมวดหมู่ทั้งหมดในระบบก่อนจากนั้นค้นหาผลิตภัณฑ์ทั้งหมดในหมวดหมู่นั้นและทำซ้ำจนกว่าทุกหมวดหมู่จะได้รับการประมวลผล ฉันควรหลีกเลี่ยง SQL ดิบ แต่ถ้าฉันต้องไปที่นั่นก็ไม่เป็นไร แม้ว่าฉันจะไม่เคยเข้ารหัส SQL ดิบใน Django / Python มาก่อน

5
เชื่อมโยงกับประวัติโมเดลของ Django Admin
การตั้งค่า: ฉันกำลังทำงานกับแอปพลิเคชั่น Django ซึ่งอนุญาตให้ผู้ใช้สร้างวัตถุในฐานข้อมูลจากนั้นกลับไปแก้ไขได้มากเท่าที่ต้องการ ไซต์ผู้ดูแลระบบของ Django จะเก็บประวัติของการเปลี่ยนแปลงที่เกิดขึ้นกับออบเจ็กต์ผ่านไซต์ผู้ดูแลระบบ คำถาม: ฉันจะเชื่อมต่อแอปพลิเคชันของฉันเข้ากับประวัติการเปลี่ยนแปลงของไซต์ผู้ดูแลระบบเพื่อให้สามารถดูประวัติการเปลี่ยนแปลงที่ผู้ใช้ทำกับ "เนื้อหา" ได้อย่างไร

4
ข้อผิดพลาด Django - ไม่มีการค้นหาที่ตรงกัน
ในที่สุดฉันก็ปล่อยโปรเจ็กต์สู่ระดับการผลิตและทันใดนั้นฉันก็มีปัญหาบางอย่างที่ฉันไม่เคยต้องจัดการในขั้นตอนการพัฒนา เมื่อผู้ใช้โพสต์การกระทำบางอย่างบางครั้งฉันก็ได้รับข้อผิดพลาดต่อไปนี้ Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "home/ubuntu/server/opineer/comments/views.py", line 103, in comment_expand comment = Comment.objects.get(pk=comment_id) File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 131, in get return self.get_query_set().get(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 366, in get % self.model._meta.object_name) DoesNotExist: Comment matching query does not …


8
Django ลบ FileField
Наэтотвопросестьответына กองมากเกินнарусском : Какудалитьфайлнадискеизполя FileField / ImageField приудаленииобъекта? ฉันกำลังสร้างเว็บแอปใน Django ฉันมีโมเดลที่อัปโหลดไฟล์ แต่ไม่สามารถลบได้ นี่คือรหัสของฉัน: class Song(models.Model): name = models.CharField(blank=True, max_length=100) author = models.ForeignKey(User, to_field='id', related_name="id_user2") song = models.FileField(upload_to='/songs/') image = models.ImageField(upload_to='/pictures/', blank=True) date_upload = models.DateField(auto_now_add=True) def delete(self, *args, **kwargs): # You have to prepare what you need before delete the model …

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

3
วิธีการทำ SELECT MAX ใน Django
ฉันมีรายการวัตถุที่ฉันจะเรียกใช้แบบสอบถามเพื่อให้ค่าสูงสุดของเขตข้อมูลได้อย่างไร: ฉันใช้รหัสนี้: def get_best_argument(self): try: arg = self.argument_set.order_by('-rating')[0].details except IndexError: return 'no posts' return arg คะแนนเป็นจำนวนเต็ม

4
ค่าเริ่มต้นของฟิลด์โมเดล Django อิงจากฟิลด์อื่นในโมเดลเดียวกัน
ฉันมีแบบจำลองที่ฉันต้องการมีชื่อวิชาและชื่อย่อของพวกเขา (ข้อมูลเขาค่อนข้างไม่ระบุตัวตนและติดตามด้วยชื่อย่อ) ตอนนี้ฉันเขียน class Subject(models.Model): name = models.CharField("Name", max_length=30) def subject_initials(self): return ''.join(map(lambda x: '' if len(x)==0 else x[0], self.name.split(' '))) # Next line is what I want to do (or something equivalent), but doesn't work with # NameError: name 'self' is not defined subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials) …

2
อัปเดตเฉพาะฟิลด์ที่ระบุในโมเดลเท่านั้น
ฉันมีแบบจำลอง class Survey(models.Model): created_by = models.ForeignKey(User) question = models.CharField(max_length=150) active = models.NullBooleanField() def __unicode__(self): return self.question และตอนนี้ฉันต้องการอัปเดตเฉพาะactiveฟิลด์ ดังนั้นฉันจึงทำสิ่งนี้: survey = get_object_or_404(Survey, created_by=request.user, pk=question_id) survey.active = True survey.save(["active"]) IntegrityError: PRIMARY KEY must be uniqueตอนนี้ผมได้รับข้อผิดพลาด ฉันใช้วิธีนี้ในการอัปเดตหรือไม่

10
การรับ TypeError: __init __ () ขาดอาร์กิวเมนต์ตำแหน่งที่ต้องการ 1 รายการ: 'on_delete' เมื่อพยายามเพิ่มตารางหลักหลังตารางลูกด้วยรายการ
ฉันมีสองชั้นเรียนในฐานข้อมูล SQLite ของฉันตารางผู้ปกครองที่มีชื่อและตารางเด็กที่เรียกว่าCategorie Articleฉันสร้างคลาสตารางลูกก่อนแล้วเพิ่มรายการ ก่อนอื่นฉันมีสิ่งนี้: class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) def __str__(self): return self.titre และหลังจากที่ฉันเพิ่มตารางหลักแล้วตอนนี้models.pyหน้าตาของฉันก็เป็นแบบนี้ from django.db import models # Create your models here. class Categorie(models.Model): nom = models.CharField(max_length=30) def __str__(self): return self.nom class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de …

1
ผู้ดูแลระบบ Django ข้อผิดพลาด ManyToMany อินไลน์“ ไม่มี ForeignKey ถึง”
ฉันกำลังตั้งค่าผู้ดูแลระบบ Django เป็นรุ่นต่อไปนี้: class Quote(models.Model): author = models.CharField(max_length=100) quote = models.CharField(max_length=1000) tags = models.ManyToManyField('Tag') class Tag(models.Model): name = models.CharField(max_length=100) ด้วยรหัสต่อไปนี้: class TagInline(admin.TabularInline): model = Tag class QuoteAdmin(admin.ModelAdmin): list_display = ('author', 'quote') inlines = (TagInline,) class TagAdmin(admin.ModelAdmin): pass admin.site.register(Quote, QuoteAdmin) admin.site.register(Tag, TagAdmin) เมื่อพยายามที่จะดูหน้าผู้ดูแลระบบเพื่อเพิ่มการแสดงหน้าข้อผิดพลาดว่าQuote <class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'>สิ่งนี้ไม่เกิดขึ้นก่อนที่ฉันจะเพิ่มอินไลน์ …

6
การใช้ UUID เป็นคีย์หลักในโมเดล Django (ผลกระทบของความสัมพันธ์ทั่วไป)
ด้วยเหตุผลหลายประการ ^ ฉันต้องการใช้ UUID เป็นคีย์หลักใน Django บางรุ่นของฉัน หากฉันทำเช่นนั้นฉันจะยังสามารถใช้แอปภายนอกเช่น "Contrib.comments", "django-vote" หรือ "django-tagging" ซึ่งใช้ความสัมพันธ์ทั่วไปผ่าน ContentType ได้หรือไม่ การใช้ "django-vote" เป็นตัวอย่างรูปแบบการโหวตจะมีลักษณะดังนี้: class Vote(models.Model): user = models.ForeignKey(User) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() object = generic.GenericForeignKey('content_type', 'object_id') vote = models.SmallIntegerField(choices=SCORES) ดูเหมือนว่าแอปนี้จะสมมติว่าคีย์หลักสำหรับโมเดลที่โหวตเป็นจำนวนเต็ม ดูเหมือนว่าแอปความคิดเห็นในตัวจะสามารถจัดการ PK ที่ไม่ใช่จำนวนเต็มได้แม้ว่า: class BaseCommentAbstractModel(models.Model): content_type = models.ForeignKey(ContentType, verbose_name=_('content type'), related_name="content_type_set_for_%(class)s") object_pk = …

8
สร้างวัตถุแบบจำลองจำนวนมากใน django
ฉันมีวัตถุมากมายที่ต้องบันทึกในฐานข้อมูลดังนั้นฉันจึงต้องการสร้างอินสแตนซ์ Model ด้วยสิ่งนั้น ด้วย django ฉันสามารถสร้างอินสแตนซ์โมเดลทั้งหมดด้วยMyModel(data)แล้วฉันต้องการบันทึกทั้งหมด ตอนนี้ฉันมีบางอย่างเช่นนั้น: for item in items: object = MyModel(name=item.name) object.save() ฉันสงสัยว่าฉันสามารถบันทึกรายการวัตถุได้โดยตรงหรือไม่เช่น: objects = [] for item in items: objects.append(MyModel(name=item.name)) objects.save_all() จะบันทึกวัตถุทั้งหมดในธุรกรรมเดียวได้อย่างไร?

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