2014-02-27 46 views
0

我有一個模型假設我可以保存Django的查詢集manytomayfield

class A(models.Model): 
    name = models.CharField(max_length=256) 

class B(models.Model): 
    city = models.CharField(max_length=256) 
    users = models.ManyToManyField(A) 

現在我可以說,如果我要救這些模型,我可以使用

users = A.objects.all() 

,並假設我有一個數據存儲爲

b = B(city="XYZ", user=users).save() 

即我可以直接使用完整的查詢集來存儲manytomany字段數據。

回答

0

無論如何,在實例化模型時,您都無法傳遞多對多字段。

模型保存後,雖然,你可以這樣做:

b.users.add(*users) 
+0

這意味着我可以像B = B(城市= 「XYZ」)保存(提交= FALSE),然後使用此解決方案。 – saurabh

+0

呃,沒有。首先,'commit = False'用於表單,而不是模型。其次,如上所述,在添加m2m數據之前,您必須將其實際保存到數據庫中。 –