【发布时间】:2020-10-05 08:03:35
【问题描述】:
form 根据登录用户的用户组,如果登录用户不属于某个组,则应该删除一些 story_status 值。我有一个生产者组,如果登录用户不属于生产者组,那么我想要从story_status 中删除选择字段值footage ready。我的代码不排除值
models.py
class Article(models.Model):
STORY_STATUS = {
('story not done', 'story not done'),
('story finish', 'story finish'),
('Copy Editor Done', 'Copy Editor Done'),
('footage ready', 'footage ready')
}
title = models.CharField(max_length=255, help_text="Short title")
story_status = models.CharField(choices=STORY_STATUS)
输出.html
class ArticleForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user', None)
super(ArticleForm, self).__init__(*args, **kwargs)
if not self.user.groups.filter(name__iexact='producer').exists():
self.queryset = Article.objects.exclude(story_status='footage ready')
class Meta:
model = Article
fields = [
'title',
'story_status'
]
【问题讨论】:
标签: python python-3.x django django-models django-forms