2017-12-12 2 views
0

Ein Django Neuling hier. Ich habe gesucht, konnte aber keine Antwort auf meine Frage finden (oder ich wusste nicht, die richtigen Keywords zu sehen) IDjango zeigen einzigartige zusammen Felder in einem Modell in einem anderen Modell Vorlage

class RegEntry(models.Model): 
id = models.AutoField(primary_key=True) 
product = models.ForeignKey('data.Product', on_delete=models.PROTECT) 
account_id = models.CharField(max_length=64) 
nominee_name = models.CharField(max_length=128) 
nominee_id = models.CharField(max_length=128) 
nominee_account_id = models.CharField(max_length=64, null=True) 
address = models.CharField(max_length=255, null=True 

objects = RegisterQuerySet.as_manager() 

class Meta: 
    unique_together = (('date', 'product', 'nominee_id'),) 
    index_together = (
     ('nominee_id', 'date'), 
     ('product', 'date'), 
    ) 
    ordering = ['date', 'product', 'nominee_id'] 

ein Modell mit einer einzigartigen zusammen Spalten zusätzlich zu einem PK- haben ich habe ein anderes Modell, das auf dem Vorgängermodell basiert und verfügt über eine eigenen PK -

class Attribute(models.Model): 
id = models.AutoField(primary_key=True) 
date = models.DateField(db_index=True) 
product = models.ForeignKey('data.Product', on_delete=models.PROTECT) 
nominee_id = models.CharField(max_length=255) 
beneficiary_name = models.CharField(max_length=128) 

class Meta: 
    unique_together = (('date', 'product', 'nominee_id', 'beneficiary_name'),) 
    index_together = (
     ('date', 'product', 'nominee_id'), 
     ('is_processed',) 
    ) 
    ordering = ['date', 'product', 'nominee_id', 'beneficiary_name'] 

ich brauche das Attribut Modell anzuzeigen mit Modelform und die damit verbundene Vorlage, sondern auch die Produktnamen angezeigt werden muß und Nominee-Namen. Ich kam zu dem Teil, wo ich Model Form rendern konnte, konnte aber den Verbindungsteil nicht herausfinden. Ich bin sehr dankbar für jeden Rat von den Experten hier.

+0

Sie müssen das Primärschlüsselfeld nicht definieren https://docs.djangoproject.com/es/2.0/topics/db/models/#automatic-primary-key-fields –

+0

Was ist genau das Problem beim Rendern? deine Form? Was ist der "Verknüpfungsteil"? –

+0

@guillermochamorro - Ich muss Attributdetails anzeigen, aber auch entsprechende Registrierungseinträge anzeigen. Die Verbindung zwischen diesen beiden Modellen besteht aus den Feldern "date", "product", "nominee_id". Wie kann ich für jeden Attributdatensatz RegEntry-Datensätze abrufen? Vielen Dank! – Gayathri

Antwort

0

Gelöst dies selbst, wenn ich die .Extra() - Methode und SQL Where-Klausel verwenden, kann ich die gewünschten Ergebnisse erhalten. Dieser Blog und Beispiel auf zusätzliche Verwendung ist, was ich folgende endete - https://micropyramid.com/blog/how-to-filter-a-django-queryset-using-extra/

ich diese Lösung für die Leistung noch nicht getestet habe, zur Zeit unsere Datenmenge klein ist und ich habe geprüft bestimmte Tabelle zu verstehen, wird ein nur haben Handvoll Datensätze zu einem bestimmten Zeitpunkt.

Verwandte Themen