考虑以下模型
class Book(models.Model):
name = models.CharField(max_length=100)
author = models.ForeignKey(Author)
class Author(models.Model):
name = models.CharField(max_length=50)
我想要一张表格来输入一本书&作者姓名(均为文本输入)。我不希望作者有ModelChoiceField
。如果作者不存在,我将在我的视图中创建它。我可以通过declaratively defining author_name字段&像这样的max_length:
class BookForm(ModelForm):
author_name = forms.CharField(max_length=50)
class Meta:
model = Book
fields = ['name']
如何避免在BookForm中对author_name
的max_length进行硬编码?我能以某种方式从链接的作者模型中推断出它吗?
答案 0 :(得分:1)
参考:programmatically obtain the max_length of a Django model field:
获取模型字段的max_length
,
您可以使用Author._meta.get_field('name').max_length
。
答案 1 :(得分:0)