Use o OneToOneField inline no Django Admin

eu tenhoDataFile modelos que têmLogOutput objetos. UMADataFile objeto terá um únicoLogOutput. Para qualquerLogOutput que pertence a umDataFile, ele pertencerá apenas a um únicoDataFile. Outros modelos também têmLogOutput objetos.

Como eles são individuais, exceto queLogOutputs pode pertencer a outras coisas que nãoArquivos de dados (por exemplo.Suítes eu também acho que eles têm - veja o código abaixo) Eu pensei que a coisa certa a fazer seria ter um OneToOneField definido emDataFile esse é oLogOutput.

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)

Agora, quando olho para um DataFile na visualização Admin, quero ver o LogOutput, então pensei em apenas incorporá-lo.

admin.py:

class LogOutputInline(admin.TabularInline):
    model = LogOutput

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

admin.site.register(DataFile, DataFileAdmin)

Parece que, devido à direcionalidade de onde os OneToOneField (s) estão definidos, não posso fazer o inlining. O admin.py acima me fornece:

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

O que, é claro, é verdade, mas não vejo como é relevante, porque umDataFile tem um (e apenas um)LogOutput que, por sua vez, pertence apenas a esteDataFile.

Eu liPergunta 1744203 mas a solução era inverter a direção do relacionamento. Eu não acho que posso fazer isso porque outros objetos (Suítes) também têmLogOutputs.

E, se importa, isso está no Django 1.5.

Minha pergunta é: O que preciso fazer para exibir o inlineLogOutput noArquivos de dados página de administração? (Ou o meu pensamento sobre o uso de um OneToOneField precisa de revisão?)

TIA!

questionAnswers(2)

yourAnswerToTheQuestion