ich zwei Modelle, mit ManyToMany
Beziehungen:Django InlineAdmin für ManyToMany Feld, das nicht explizit genannt hat durch
App1
:
class Foo:
fld = models.CharField(null=True, blank=True)
App2
:
class Bar:
foos = models.ManyToManyField(Foo, blank=True)
Jetzt, auf der Admin-Ansicht von Bar
, würde ich gerne foos
präsentieren. Ich kann nicht einfach foos
als ManyToMany Feld auflisten, ich bekomme eine Fehlermeldung.
Also versuche ich zu tun:
class BarFooInline(admin.TabularInline):
model = Bar_foos
class BarAdmin(admin.ModelAdmin):
model = Bar
inlines = [BarFooInline, ]
admin.site.register(Bar, BarAdmin)
Ich habe den Namen Bar_foos
durch Blick in die Meta von Bar. Bar.foos.through
ergibt das als eine richtige models.Bar_foos
. Aber da ich das nicht ausdrücklich genannt habe, ist es nicht wirklich in der models.py
, also kann ich das nicht importieren. Was soll ich machen?
Ich möchte nicht durch jetzt erstellen, weil ich bereits eine ganze Reihe von Assoziationsinformationen in der Tabelle habe, und ich habe das Gefühl, dass nicht magisch Daten in die Tabelle der neu benannten Assoziationseinheit migriert werden würden (https://mounirmesselmeni.github.io/2013/07/28/migrate-django-manytomany-field-to-manytomany-through-with-south/).
Außerdem kann ich das Feld ManyToMany
nicht von App2
zu verschieben.
Ja, es kompiliert so! Es ist eine andere Sache, dass es viele Objekte gibt, dass der MySQL-Client nicht genügend Speicher hat, also muss ich eine andere Lösung finden. –