Użyj OneToOneField inlined w Django Admin

mamPlik danych modele, które mająLogOutput przedmioty. ZAPlik danych obiekt będzie miał jedenLogOutput. Dla każdegoLogOutput należy doPlik danych, będzie należeć tylko do jednegoPlik danych. Inne modele również mająLogOutput przedmioty.

Ponieważ są one jeden do jednego, z wyjątkiem tegoLogOutputs może należeć do rzeczy innych niżPliki danych (na przykład.Apartamenty je też - zobacz kod poniżej) Pomyślałem, że właściwą rzeczą byłoby zdefiniowanie OneToOneFieldPlik danych to jestLogOutput.

models.py:

class LogOutput(models.Model):
    raw = models.TextField()

class DataFile(models.Model):
    name = models.CharField()#etc.
    logoutput = models.OneToOneField(LogOutput)

class Suite(models.Model):
    # Many Suites will have the same datafile:
    datafile = models.ForeignKey(DataFile)

    # Each Suite has a unique LogOutput different from the DataFile's
    # and as with the DataFile, that LogOutput will have just one Suite
    logoutput = models.OneToOneField(LogOutput)

Teraz, gdy patrzę na plik DataFile w widoku Admin, chcę zobaczyć LogOutput, więc pomyślałem, że po prostu go dopiszę.

admin.py:

class LogOutputInline(admin.TabularInline):
    model = LogOutput

class DataFileAdmin(admin.ModelAdmin):
    search_fields = ['name']
    inlines = [LogOutputInline]

admin.site.register(DataFile, DataFileAdmin)

Wygląda na to, że ze względu na kierunkowość, w której zdefiniowane są pola OneToOneField, nie mogę wykonać wstawiania. Powyższy admin.py daje mi:

<class 'trial.models.LogOutput'> has no ForeignKey to <class 'trial.models.DataFile'>

Co oczywiście jest prawdą, ale nie rozumiem, jak to jest istotne, ponieważPlik danych ma jeden (i tylko jeden)LogOutput który z kolei należy tylko do tegoPlik danych.

czytamPytanie 1744203 ale rozwiązaniem było odwrócenie kierunku relacji. Myślę, że nie mogę tego zrobić, ponieważ inne obiekty (Apartamenty) też mamLogOutputs.

A jeśli ma to znaczenie, jest to w Django 1.5.

Moje pytanie brzmi: co muszę zrobić, aby wyświetlić inlineLogOutput naPliki danych strona administracyjna? (A może moje myślenie o użyciu OneToOneField wymaga rewizji?)

TIA!

questionAnswers(2)

yourAnswerToTheQuestion