在django管理员中,如果某个模型正在独立编辑,那么我需要一些字段。如果它是内联的,我不希望他们被要求。有没有办法做到这一点?在Django管理员中,我可以在模型中需要字段,但是在内联时不需要字段?
7
A
回答
16
虽然Daniel Roseman的答案有效,但这不是最好的解决方案。它需要通过重新声明表单域来重复一些代码。例如,如果您在该字段上有verbose_name
,则您还必须将label='My verbose_name already set on model'
添加到CharField
行,因为重新声明整个字段基本上会擦除您的模型上为该字段设置的所有内容。
更好的方法是覆盖表单的__init__
方法,并在那里明确地将field.required
设置为True
或False
。
class MyModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.fields['myfield'].required = True
9
当然。只需定义一个自定义表单,并将您的必填字段覆盖以设置required = True,然后在您的管理员类中使用它。
class MyForm(forms.ModelForm):
required_field = forms.CharField(required=True)
class Meta:
model = MyModel
class MyAdmin(admin.ModelAdmin):
form = MyForm
class MyInlineAdmin(admin.ModelAdmin):
model = MyModel
所以这里MyAdmin使用重写的表单,但MyInlineAdmin不是。
相关问题
- 1. Django以模型形式需要字段
- 2. 如果不创建表单,我可以在Django中创建一个不需要的管理员字段吗?
- 3. 需要的模型字段
- 4. 如何在字段集中显示Django管理内联模型?
- 5. 需要在Django Formset中有必需和可选的字段
- 6. Django管理员:需要有条件地显示字段
- 7. 是否需要在模型字段中设置max_length?
- 8. Json模式 - oneOf字段需要需要
- 9. 仅当其他模型字段为真时,才需要管理站点中的模型字段
- 10. Django admin内嵌模型管理员需要
- 11. 如何在django模型中搜索,如果不需要一些字段
- 12. 需要帮助来定义Django中的模型字段
- 13. drupal 7使字段在form_user_profile_form_alter中需要
- 14. 仅在编辑时需要的字段
- 15. 我需要ID字段吗?
- 16. 在rails模型中有条件需要的字段?
- 17. 如何在Django Admin中需要内联?
- 18. 可以检查Mongoose模式以确定是否需要字段?
- 19. 我可以在管理中使用Django模型函数作为字段吗?
- 20. Datepicker需要但不能在输入字段中更改
- 21. Dalvik中“短”字段需要的内存?
- 22. 需要MVC字段
- 23. mvc模型验证不需要在所有字段上工作
- 24. 在elasticsearch中是否需要布尔型字段索引
- 25. SharePoint字段设置为不需要,但仍需要输入
- 26. Django管理员 - 检测内联中更改的字段?
- 27. Django管理员 - 如何在模型字段中存储对模型的引用?
- 28. “需要”管理在Ruby中
- 29. django-localflavor字段没有出现在Django管理模型中?
- 30. 当不级联字段时,您是否需要使用@Transient?
非常感谢 – Mitch 2009-07-01 17:00:00