Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过模型对象循环检查字段是否已填充_Python_Django_Django Models - Fatal编程技术网

Python 通过模型对象循环检查字段是否已填充

Python 通过模型对象循环检查字段是否已填充,python,django,django-models,Python,Django,Django Models,我正在处理一个django项目,试图找出如何循环遍历所有任务模型对象,并检查ManyToMany用户字段是否由特定类型的用户模型对象填充 有没有一种简单的方法可以迭代所有的模型对象来实现这一点?您不必迭代对象。例如,假设您的任务模型类似于: class Task(models.Model): users = models.ManyToManyField(User) ... 然后,以下查询将返回至少有一个相关用户是学生的所有任务对象: Task.objects.filter(

我正在处理一个django项目,试图找出如何循环遍历所有任务模型对象,并检查ManyToMany用户字段是否由特定类型的用户模型对象填充


有没有一种简单的方法可以迭代所有的模型对象来实现这一点?

您不必迭代对象。例如,假设您的任务模型类似于:

class Task(models.Model):
     users = models.ManyToManyField(User)
     ...
然后,以下查询将返回至少有一个相关用户是学生的所有任务对象:

Task.objects.filter(users__type='Student')

双下划线告诉Django遍历多对多关系并从用户表中获取type列。

您能添加一些示例代码吗?另外,你有没有看过用户是从哪里来的?如果我的用户表有一个类型字段,它可能等于字符串student,我如何检查它?在模型的某个地方添加另一块?