我的 Django 应用程序中有三个模型:
class MainData(models.Model):
# bunch of fields
class Label(models.Model):
label = models.CharField(max_length=512, null=True, unique=True)
class MapData(models.Model):
labelMatch = models.ForeignKey(Label, on_delete=models.CASCADE)
mainMatch = models.ForeignKey(MainData, on_delete=models.CASCADE)
通过我的应用程序,我让用户在搜索框中输入标签。我想做的是返回MainData
行谁的MapData.label_match
字段是Label
.
例如,假设用户在搜索框中输入字符串“main32”。我目前的想法是首先找到Label
匹配'main32'的行,然后使用RelatedManager
labelmatch_set
来获取所有指向的MapData
行。MapData.mainMatch
因此,如果有 10 个 MapData 行labelMatch
指向带有 的Label
条目label='main32'
,那么我想检索MainData
外键mainMatch
指向的所有 10 行。
希望我解释得很好。我已经得到:
matching_label_rows = Label.objects.filter(input)
matching_main_data_rows = matching_label_rows.mainMatch_set.????
如何从中检索指向的MainData
行matching_label_rows.mainMatch_set
?并且这个操作可以作为一个单行来完成吗?