choices
选择一个
ForeignKey
字段。但这会阻止输入表单得到验证。
我不确定你能不能用
选择
在里面
字段,但您还将如何为这些选项提供可读的输出?
如果你知道如何做到这一点,我将不胜感激。
这是我的代码:
模型:
from django.contrib.auth.models import Group as DjangoGroup
class Category(models.Model):
created_by = models.ForeignKey('auth.User', on_delete=models.PROTECT, related_name='category_author')
last_edited_by = models.ForeignKey('auth.User', on_delete=models.PROTECT, related_name='category_editor')
name = models.CharField(max_length = 100)
privileges = models.ForeignKey('auth.Group', on_delete=models.PROTECT, blank=True, null=True, choices=((DjangoGroup.objects.get(pk=5), 'Test group'),))
表格:
from django import forms
from .models import *
class CategoryForm(forms.ModelForm):
class Meta:
model = Category
exclude = ('created_by', 'last_edited_by',)
Select a valid choice. TestGroup(just for testing purposes) is not one of the available choices.
“TestGroup(仅用于测试目的)”是我试图向用户隐藏的实际组名。
我希望你能理解我要达到的目标。我是在正确的轨道上还是有不同的方法?
提前谢谢你的回答