/ / Django zwei innere Joins - Python, Django, Django-Queryset, Django-Orm

Django zwei innere Joins - Python, Django, Django-Query-Set, Django-Orm

Ich bin neu in Django. Ich habe eine MySQL-Abfrage:

    SELECT username, foto FROM a INNER JOIN b ON (a.user_id = b.id) INNER JOIN c ON (a.foto_id = c.id)

Wie schreibe ich es in Django?

Modelle:

    class b(models.Model):
username = models.CharField(max_length=30)
email = models.CharField(max_length=30)
password = models.CharField(max_length=30)

class c(models.Model):
user_id = models.IntegerField()
foto = models.FileField(upload_to="documents")
created_at = models.DateTimeField(auto_now_add=True)

class a(models.Model):
user_id = models.IntegerField()
foto = models.ForeignKey("c", blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)

Antworten:

3 für die Antwort № 1

Ich denke, du suchst select_related ():

A.objects.select_related("b", "c").values("b__username", "c__foto")