je les modèles, plus ou moins comme ceci:Django LEFT JOIN?
class ModelA(models.Model):
field = models.CharField(..)
class ModelB(models.Model):
name = models.CharField(.., unique=True)
modela = models.ForeignKey(ModelA, blank=True, related_name='modelbs')
class Meta:
unique_together = ('name','modela')
Je veux faire une requête qui dit quelque chose comme: « Obtenez tous le nom du champ où est modela égale à X qui ont un modèle ModelB avec un nom de X OU sans nom de modèle du tout »
jusqu'à présent, j'ai ceci:
cela me obtenir tous les ModelAs qui ont au moins un modelB (et en réalité, ce sera toujours un seul) - mais si un ModelA n'a pas de ModelBs, il ne sera pas t être dans le jeu de résultats. J'ai besoin d'être dans le resultset avec quelque chose comme obj.modelb = Aucun
Comment puis-je accomplir cela?
Sur une note côté: Ce serait vraiment aider si vous avez utilisé des noms descriptifs comme scénario Blog/Post typique ou au moins Foo/Bar au lieu de ModelA/ModelB qui sont non intuitives et simplement difficiles à lire/distinguer. –