【发布时间】:2010-10-19 19:30:11
【问题描述】:
考虑一下我已经定义了以下模型:
class Tag(models.Model):
name = models.CharField(max_length=20)
class Entry(models.Model):
title = models.CharField(max_length=100)
date = models.DateField()
tags = models.ManyToManyField(Tag)
以及以下模型形式:
class EntryForm(forms.ModelForm):
tags = CharField(max_length=100, label='Tags', required=False)
class Meta:
model = Entry
基本上我有一个带有标签的条目。标签不一定已经创建。我需要收到填写好的报名表并用标签保存。
如果条目中没有 ManyToMany 关系,我可以轻松做到这一点。但是有了它,我首先需要保存标签,然后将保存的标签添加到条目中,然后保存条目。这意味着我必须重写 EntryForm 的 save() 方法。
我已经看到this 的问题,但看起来不同。在我的情况下,我只需要保存标签,其余的应该可以使用 ModelForm 的默认 save()。
我提出了一个简化的例子。实际上,我在条目中有更多字段。 你对用 django 方式编写 EntryForm 的 save() 方法有什么建议?
【问题讨论】:
标签: django django-models django-forms