Я новичок в моделях django и пытаюсь преобразовать устаревшие запросы MySQL в модели django.У меня есть две таблицы tb1 и tb2.Я хочу соединить два и использовать оба их поля для получения результатов.
class Tb2(models.Model):
tb2_id = models.ForeignKey('Tb1', models.DO_NOTHING, primary_key=True)
profile = models.CharField(max_length=15)
version = models.CharField(max_length=15)
class Tb1(models.Model):
id = models.BigAutoField(primary_key=True)
job_id = models.BigIntegerField(blank=True, null=True)
""" SELECT s.*, IF(count(distinct p.version)<=1, TRUE, FALSE) is_profile_same,
MAX(p.version) ver,
FROM tb1 s
LEFT JOIN tb2 p ON p.tb2_id=s.id
WHERE s.id in ('10','9') group by s.id """
Tb1.tb1.filter().select_related('Tb2').annotate(join_profiles=Count('id'))
Я оставил объединенные две таблицы на идентификаторах.Я не уверен, как добавить условия if и max, используя поля tb2.Каждый раз, когда я пытаюсь использовать поля, это дает мне FieldError.
Может кто-нибудь помочь?