带参考模型组的外键

问题描述

考虑以下场景:

您要为有多组人员的松弛状态构建Django:

Group 1:
John
Lizzy
Mya

Group 2:
Oliver
Taylor

如果我有一个Message模型,该模型在一个组中具有一个GroupUser的外键。在admin中,如何使User外键仅允许从组中的用户进行选择?谢谢!

解决方法

class Group(models.Model):
    g_name = models.CharField(..)
    user = models.ForeignKey(User,related_name='group')

class User(models.Model):
    name = models.CharField(...)
    

您可以像这样简单地制作模型,然后再进行这样的制作和查询

User.objects.filter(group__g_name = "Your group name")

----- OR ------

class Group(models.Model):
    g_name = models.CharField(..)

class User(models.Model):
    name = models.CharField(...)
    group = models.ForeignKey(Group)
    

您可以像这样简单地制作模型,然后在制作和查询之后像这样

User.objects.filter(group__g_name = "Your group name")