2017-01-11 2 views
0

Hier meine beiden Modelle sind:Add geordnete Feld in django Admin bildet

class Provider(models.Model): 
    name = models.CharField(max_length=75, null=True, blank=True) 
    code = models.CharField(max_length=15) 
    provider_parent = models.ForeignKey('self', null=True, blank=True) 
    accounts = models.ManyToManyField('Account', blank=True) 
    data_types = models.ManyToManyField('DataType', blank=True, 
             through='ProviderDataType') 

class Account(models.Model): 
    name = models.CharField(max_length=75, unique=True) 
    prefixes = models.ManyToManyField('AccountPrefix', blank=True) 

Hier ist meine admin.py

class ProviderAdmin(admin.ModelAdmin): 
    list_display = ('code', '__unicode__') 

class AccountAdmin(admin.ModelAdmin): 
    list_display = ('__unicode__') 


admin.site.register(Provider, ProviderAdmin) 
admin.site.register(Account, AccountAdmin) 

ich mich gefragt, ob es möglich ist, eine Auswahl der Eltern zu haben, Wenn ich versuche, mein Account-Modell hinzuzufügen oder zu aktualisieren und es zu speichern. Das Parent-Modell hat das Konto bereits auf sein Feld vieleTomäne gesetzt

Antwort

1

Wenn ich Ihre Frage richtig verstanden habe, können Sie TubularInline verwenden. Wie folgt aus:

class ProviderInline(admin.TabularInline): 
    model = Provider.accounts.through 
    extra = 1 

class AccountAdmin(admin.ModelAdmin): 
    inlines = [ProviderInline,] 
    ... 
+0

mehr als eine Zeile von einer Unterabfrage zurückgegeben als Ausdruck verwendet, ,, das ist der Fehler, nachdem ich ein Konto klicken Sie auf den Provider-Modell Abschnitt im Admin hinzugefügt –

+0

@DeanChristianArmada diese seltsam ist. Sind Sie sicher, dass Sie diesen Fehler nicht vor dem Hinzufügen von Admin-Inlines hatten? Können Sie eine vollständige Rückverfolgung bereitstellen? – neverwalkaloner

+0

Macht nichts, es ist ein Fehler in meinem Ende .. Danke für die Lösung! –

Verwandte Themen