[英]ManyToMany field as an argument to .objects.create() function
我有2個班級, Design
和Order
。 我正在嘗試在views.py中創建一個Order對象,並且在執行該操作時希望將Design對象作為.objects.create()的參數,但出現此錯誤:“'design'是無效的關鍵字該函數的參數”,我認為這是因為Design是Order模型中的ManyToMany字段。 想知道我該怎么辦? 太感謝了。 models.py:
class Design(models.Model):
dimension=models.CharField(max_length=15, blank=True, null=True)
image=models.FileField(upload_to='images/%Y/%m/%d')
number_of_colors=models.IntegerField(blank=True, null=True)
sides=models.IntegerField(verbose_name='side(s)')
class Order(models.Model):
o_type=models.CharField(max_length=15, verbose_name='Order type', null=True)
number=models.IntegerField()
date=models.DateField()
status=models.CharField(max_length=25, null=True, blank=True)
delivery_date=models.DateField(null=True, blank=True)
customer=models.ForeignKey(Customer)
design=models.ManyToManyField(Design)
outSource=models.OneToOneField(OutSource, blank=True, null=True)
views.py:
def upload(request):
if request.method=='POST':
print "entered upload"
image=request.FILES.get('upload', False)
sides=request.POST.get('sides', False)
number=request.POST.get('number', False)
design=Design.objects.create(image=image, sides=sides)
now = datetime.datetime.now()
customer=Customer.objects.get(user=request.user)
order=Order.objects.create(customer=customer, date=now, number=number, design=design)
return HttpResponseRedirect("/home/")
不可能在create
添加ManytoManyField
,因為ManyToManyField
涉及用於數據庫查詢的中間表。
您將需要兩個查詢:
order=Order.objects.create(customer=customer, date=now, number=number)
order.design.add(design)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.