假设模型是这样构造的:
class Worker(models.Model):
name_char = models.CharField(max_length=4,null=True, blank=True)
body_parts_mtm = models.ManyToManyField('BodyPart')
class Job(models.Model):
job_name = models.CharField(max_length=6,unique=True)
job_reference_mtm = models.ManyToManyField('JobReferenceCode')
class JobReferenceCode(models.Model):
job_ref_char = models.CharField(max_length=13)
worker_mtm = models.ManyToManyField('Worker')
class BodyPart(models.Model):
body_part_name_text = models.TextField()
class MembersSimilarity(models.Model):
similarity_score_float = models.FloatField(max_length=10)
worker_fk = models.ForeignKey(Worker,on_delete=models.CASCADE)
job_fk = models.ForeignKey(Job,on_delete= models.CASCADE)
#not sure if I need this field to do what I want but here it is:
bodypart_fk = models.ForeignKey(BodyPart,on_delete=models.CASCADE)
在我的网站上,用户可以查找JobReference,我想给出一个具体的输出:一个由(Job,[BodyParts])组合控制行数的表。在
为了做到这一点,在我的观点中,我认为解决这个问题的方法是建立一个具有这种结构的函数(简化):
^{pr2}$有可能过滤像这样的东西吗?我需要区分工人有具体的身体部位和它的每一个工作。我在寻找如何做到这一点,但没有找到任何东西,我问这个问题也是为了征求您对如何优化我的视图功能的意见(例如,循环以构建独特的车身部件ID集…)
我知道这个问题是相当巨大的,但是我从现在开始就在挣扎,尝试了很多不同的模型结构。。。任何帮助都不只是感激,谢谢!在
我不知道我是否必须这样做,但是在@Mani的帮助下,我找到了寻找的地方,找到了这个主题:Davor Lucic's answer并最终解决了我的问题。在
在我的例子中,我尝试了他的所有答案,最后选择了一个.filter循环。 根据我的问题,我解决了这个问题:
假设我有一个body_-part_-fk列表,并希望过滤pre-_-queryset:
^{pr2}$相关问题 更多 >
编程相关推荐