2009-06-12 9 views
2

Ich kann nicht herausfinden, wie man Beziehungen macht.Django Relationale Datenbank-Lookups

Ich habe ein Produktmodell und ein Ladenmodell. Ein Produkt hat einen Fremdschlüssel für die Filialen.

So möchte ich den Produktnamen und den Namen des Geschäfts in der gleichen Lookup erhalten.

Da die Produkte Modell:

class Products(models.Model): 
    PrName = models.CharField(max_length=255) 
    PrCompany = models.ForeignKey(Companies) 

Und das Unternehmen Modell ist:

class Companies(models.Model): 
    ComName = models.CharField(max_length=255) 

Wie kann ich django Rückkehr COMNAME (aus dem Unternehmen Modell) machen, wenn ich tun:

Prs = Products.objects.filter(PrName__icontains=ss) 

Antwort

7

Angenommen, Sie erhalten Ergebnisse:

Prs[0].PrCompany.ComName # Company name of the first result 

Wenn Sie alle Firmennamen in einer Liste möchten:

company_names = [product.PrCompany.ComName for product in Prs] 
+0

Für eine schnellere Liste, traf nur die Datenbank einmal: 'company_names = Prs.values_list ('PrCompany__ComName')' – krubo