Python Django多对多
我是django的新手,我正在尝试用以下模型创建一个应用程序Python Django多对多,python,django,django-models,Python,Django,Django Models,我是django的新手,我正在尝试用以下模型创建一个应用程序 class User(models.Model): name = models.CharField(max_length=20) class Group(models.Model): identifier = models.CharField(max_length=3,primary_key=True) name = models.CharField(max_length=120) def __st
class User(models.Model):
name = models.CharField(max_length=20)
class Group(models.Model):
identifier = models.CharField(max_length=3,primary_key=True)
name = models.CharField(max_length=120)
def __str__(self):
return self.name
class Department(models.Model):
users = models.ManyToManyField(User)
ric = models.CharField(max_length=12,primary_key=True)
name = models.CharField(max_length=60)
def __str__(self):
return self.name
class Encounter(models.Model):
department = models.ForeignKey(Department,on_delete=models.DO_NOTHING)
message = models.CharField(max_length=120)
datetime = models.DateTimeField()
该用户最终将成为登录用户。我可以为一个用户获取一组所有部门对象,但是如何获取与所述部门集合的所有遭遇的集合?是否有一些内置方式,或者我只是在所有部门使用for循环?可能的方式之一:
encounters = Encounter.objects.filter(
department__in=QUERYSET_CONTAINING_DEPARTMENTS,
).distinct()
您可能需要阅读:阅读以下链接。你会找到的。这就是我要找的。我在浏览文档,但你真的需要深入研究过滤方法。谢谢