3
我試圖製作一個窗體來編輯它的父模型中的ManyToMany字段的值。作爲一個例子,我有類似於這三個模型:Django Inline Formset通過ManyToMany編輯一個值
class Language(models.Model):
label = models.CharField()
class Word(models.Model):
language = models.ForeignKey(Language)
word = models.CharField()
entries = models.ManyToManyField(Entries, null=True, blank=True)
class Entries(models.Model):
entry = models.CharField()
每種語言將有大約50個單詞。每個單詞將有一個或兩個條目。
我生成的表單集編輯條目這樣一個給定的語言:
class WordForm(forms.ModelForm):
class Meta:
model = Word
hidden = ('language',)
PronounFormSet = inlineformset_factory(Language, Word,
can_delete=False, extra=0, form=WordForm)
這給了我<select>
這讓我添加/刪除一個條目Word.entries。不過,我想允許用戶編輯領域Entries.entry 直接(即場Entries.entry
應該在CharField()。如何修改我的WordForm允許這樣做?
我知道有可能更好的方式來做到這一點(例如不同的數據庫模式),但我受到傳統實現的嚴格限制。
你是什麼意思,完全是_directly_? –
我希望窗體在CharField()中顯示條目模型的'entry'字段 – Puzzled79
您想要編輯現有條目還是隻允許用戶添加新條目? –