2017-01-21 5 views
1

beitreten Ich habe die beiden folgenden Modelle:Django-views.py: So führen Sie die innere

class Table1(models.Model): 
    locker_id = models.IntegerField(primary_key=True) 
    locker_name = models.CharField(db_column='Locker_name', max_length=45, blank=True, null=True) # Field name made lowercase. 
    city = models.CharField(max_length=45, blank=True, null=True) 
    state = models.CharField(max_length=45, blank=True, null=True) 
    pincode = models.CharField(max_length=45, blank=True, null=True) 
    locker_capacity = models.CharField(max_length=45, blank=True, null=True) 

und:

class Table2(models.Model): 
    key = models.AutoField(primary_key=True) 
    locker = models.ForeignKey(Table1) 
    empty_slots = models.CharField(max_length=45, blank=True, null=True) 

Jetzt django und Python ich die folgende Abfrage machen wollen und eine neue Tupelstruktur zurückgeben. Die SQL-Analogie ist wie folgt:

SELECT * 
FROM Table1 
INNER Table2 
ON Table1.locker_id=Table2.locker_id; 

Kann mir jemand mit der Syntax oder eine Referenz helfen. Vielen Dank.

Antwort

0

Sie können QuerySet.select_related verwenden:

Table2.objects.all().select_related('locker') 

Tupel Strukturen zu erhalten, verwenden QuerySet.values_list:

Table2.objects.all().select_related('locker') \ 
     .values_list('locker__locker_id', 'locker__locker_name', 
        'locker__city', 'locker__state', 'locker__pincode', 
        'locker__locker_capacity', 'key', 'empty_slots') 

# If you don't specify fields, you will get fields of Table2 only. 
+0

jede Ahnung, wie es Vorlage zu drucken. Wie drucken wir ein solches Format in results.html – Anonymous

+0

@ Anonym, ich verstehe nicht, was Sie meinen. – falsetru

+0

Wie zeigen und durchlaufen wir die so erhaltenen endgültigen Objekte in einer Vorlage. Ich möchte die Objektliste in tabellarischer Form anzeigen. Nun, wenn ich den folgenden Code verwende: Nichts wird angezeigt: Bitte beachte, dass qlist die resultierende Liste ist, die mit der obigen Antwort gefunden wurde. {% für ob in qlist%} {{}} ob.empty_slots_prime {{}} ob.city – Anonymous

Verwandte Themen