0
我創建了兩個模型:Django表單 - 檢查每一個對象沒有表現出他們
class Country(models.Model):
name = models.CharField(verbose_name="Name of country", max_length=100, default="Australia")
number = models.IntegerField(verbose_name="number of country", default="1")
def __unicode__(self):
return self.name
class World(models.Model):
country = models.ManyToManyField(Country)
name = models.CharField(verbose_name="New Map", max_length=100)
def __unicode__(self):
return self.name
我想給用戶可能創造在現場新的世界,但創造他不能從列表中取消選中任何對象時(每個對象都必須檢查,但他看不到它們)。 我創建了一個form.py:
class WorldForm(forms.ModelForm):
country = forms.ModelMultipleChoiceField(queryset = Country.objects.all(), widget=forms.CheckboxSelectMultiple())
class Meta:
model = World
fields = ('name',)
但這個代碼給用戶可能選擇的對象,並取消一些。如何改變它?
對我來說,最好的想法是當用戶創建他的「世界」 - 他只能輸入世界名稱,他沒有看到國家的名字,但每個對象「國家」將包括在他的「世界」。那可能嗎?我如何更改表單中的代碼來執行此類操作?
謝謝您的回覆!表單現在看起來像我想要它,但是當我保存它時,我得到一個錯誤(你有想法?):TypeError在/ world/ save()得到了一個意外的關鍵字參數'commit' – znawca
抱歉,它只是一個錯字,看看更新的'save()'簽名。我在那裏加了一個克瓦格。 –
好吧,我添加了'commit = True'來保存()簽名,現在我得到:「int()參數必須是字符串或數字,而不是'QuerySet',我試着改變它,但我不知道究竟在哪裏是錯誤的,但可能這個世界是沒有任何國家的創造。它與「is_new」是什麼? – znawca