2016-07-21 11 views
1

Ich habe folgende Modelle: -Shop Tupel als Feld in Modell

class A(...): 
    id=... 
    name=... 

class B(...): 
    setOfA=models.ManyToManyField(A) 

Was ich will, ist, dass die setOfA ein 2-D-Array von A und aktuell sein. Das heißt: -

setOfA = [[A1, date1], [A2, date2]]

Wie kann ich das umsetzen?

+0

ich, was nicht zu diesem Zeitpunkt ist, aber Sie können drittes Modell haben als Felder '' A' date' und Fremdschlüssel mit und Speichere die Instanz dieses dritten Modells im M2M-Feld. –

+0

Datum ist nur das Datum. Kein Modell. Es sollte Datum = models.DateField() sein. Aber ich will es mit einem Objekt von A –

Antwort

1

Sie möchten ein individuelles Beziehungsmodell.

class A(...): 
    id=... 
    name=... 

class B(...): 
    setOfA=models.ManyToManyField(A, through='Relation') 

class Relation(models.Model): 
    a = models.ForeignKey(A) 
    b = models.ForeignKey(B) 
    important_date = models.DateField() 

Dann im Format zu erhalten führen Sie erwähnt:

foo = Relation.objects.filter(b=my_b).select_related('a') 
result = [[x.a, x.important_date] for x in foo] 
+0

verbunden Aber die Daten sind nicht das Gleiche. Jedes A hat ein anderes Datum. –

+0

Sie können für jedes A, das B in der M2M-Beziehung referenziert, ein eindeutiges Datum haben. –