我创建了一个名为Question的模型类。我希望只有特定的用户组才能回答问题。现在,如何从用户组中带外键?
在我的数据库中有一个问题表。会有很多问题。但并非所有用户都可以查看或回答问题。这将取决于用户所属的用户组。因此,我必须在“问题”表中指定允许哪个用户组回答问题。现在,我必须在问题表中创建一个字段,我(或更具体地说是管理员)可以在其中选择用户组。为此,我必须将“ Group”表链接为表中的外键。
from django.contrib.auth.models import Group
class Question(models.Model):
# Fields
qs_title = models.CharField(max_length=350)
qs_status = models.IntegerField()
# Relationship Fields
qs_f_track = models.ForeignKey('cmit.QuestionTrack', )
responsible = models.ForeignKey(Group) # (Is this line Okay? not working though.)
上面的代码无法正常运行,因为当管理员尝试添加一个问题时,
No Such Column: cmit_question.qs_f_responsible_id
好的...有解决方案...有点...关系应该是多对多的...让我们看一下代码...
qs_f_group = models.ManyToManyField(Group)
qs_group = models.CharField(max_length=350, null=True)
def get_group(self):
return self.qs_f_group.all().first()
该功能是获取组的第一个条目。非常感谢。
(尽管我没有使用相同的函数。一个函数根本无法帮助我。相反,我变成了静态的:
CHOICE_LIST = (('0', 'Undefined'), ('staffGroup', 'staffGroup'), ('staffGroup02', 'staffGroup02'), ('staffGroup03', 'staffGroup03'), ('staffGroup04', 'staffGroup04'), ('staffGroup05', 'staffGroup05'),)
qs_responsible = models.CharField(max_length=350, default=0, choices=CHOICE_LIST, verbose_name='Responsible Party')
不推荐,显然!)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句