Как я могу сделать условие readonly для некоторых полей на основе того, что я выбираю в поле foreignkey (поля существуют в одной модели): Django-admin

У меня есть модельА, содержащая поле1(foreignkey), поле2(float) и другие поля (все они float). Я хотел бы сделать некоторые другие поля доступными для чтения (не редактируемыми) в зависимости от того, что я выберу в поле1(foreignkey), и чтобы быть ясным, все эти поля находятся в одной модели. Я хотел бы сделать это на django-admin:

Вот мой models.py:

class Modele(models.Model): 
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='sizes',null = True)
    w_profile = models.FloatField(null=True)
    b = models.FloatField(null=True, blank=True)
    tw = models.FloatField(null=True, blank=True)
    tf = models.FloatField(null=True, blank=True)

Вот мой admin.py:

admin.site.register(ProfileSize)

class ModeleAdmin(admin.ModelAdmin):
def __init__(self, *args, **kwargs):
    super(Modele, self).__init__(*args, **kwargs)
    if self.category.name == "Flate":
        return self.readonly_fields + ('tw', 'b')
    elif self.category.name == "Circular":
        return self.readonly_fields + ('b')
    else:
        return self.readonly_fields + ('tf')

Но то, что у меня есть в admin.py, не дало мне никакого результата, любая помощь будет оценена по достоинству. спасибо.

Вернуться на верх