Django Admin Access Parent Object Value From Tabular Inline
Я пытаюсь настроить администратора TabularInline и перенести значение выбора GenerationMode в поле режима ModeVersion.
models.py:
class GenerationMode(models.Model):
mode=models.CharField(max_length=35, choices=GENERATION_CHOICES, default='None', blank=False, null=False)
disabled=models.CharField(max_length=1, choices=DISABLED_CHOICES, default='N', blank=False, null=False)
active=models.CharField(max_length=1, choices=ACTIVE_CHOICES, default='Y', blank=False, null=False)
created_when=models.DateTimeField(auto_now_add=True)
modified_when=models.DateTimeField(auto_now=True)
class Meta:
db_table = 'main_GenerationModes'
def __str__(self):
return self.mode
def __unicode__(self):
return self.mode
class ModeVersion(models.Model):
mode=models.CharField(max_length=35, choices=GENERATION_CHOICES, default='None', blank=False, null=False)
version=models.DecimalField(max_digits=5, decimal_places=2, blank=False, null=False)
active=models.CharField(max_length=1, choices=ACTIVE_CHOICES, default='Y', blank=False, null=False)
created_when=models.DateTimeField(auto_now_add=True)
modified_when=models.DateTimeField(auto_now=True)
FK_mode=models.ForeignKey(GenerationMode, on_delete=models.SET_NULL, blank=True, null=True)
class Meta:
db_table = 'main_ModeVersions'
def __str__(self):
return self.mode + '_' + self.version
def __unicode__(self):
return self.mode + '_' + self.version
admin.py:
from .models import GenerationMode
from .models import ModeVersion
class GenerationModeVersionInline(admin.TabularInline):
model = ModeVersion
min_num = 1
extra = 0
class GenerationModeAdmin(admin.ModelAdmin):
inlines = [GenerationModeVersionInline]
model = GenerationMode
list_display = ['mode', 'disabled', 'active']
admin.site.register(GenerationMode, GenerationModeAdmin)
Я искал здесь, а также читал документацию. Я запутался в том, как достичь того, что я пытаюсь сделать. Есть ли рекомендуемый подход для решения этой проблемы?