Как сделать фиктивные поля в админке Django?

Для создания фиктивных полей в админке Django рекомендуется использовать метод readonly_fields. Этот метод позволяет отображать значения полей в режиме только для чтения без возможности редактирования.

Для использования readonly_fields в админке Django, следуйте этим шагам:

1. Вам необходимо создать админский класс для вашей модели в файле admin.py. Например, если вы хотите создать фиктивное поле для модели MyModel, вы должны определить класс MyModelAdmin.

from django.contrib import admin
from .models import MyModel

class MyModelAdmin(admin.ModelAdmin):
    readonly_fields = ('my_fake_field',)  # Замените my_fake_field на имя вашего фиктивного поля

admin.site.register(MyModel, MyModelAdmin)

2. Теперь вам нужно добавить фиктивное поле my_fake_field (может быть любое имя) в вашу модель MyModel в файле models.py. Фиктивное поле должно быть установлено как Property или метод, который возвращает значение.

from django.db import models

class MyModel(models.Model):
    my_fake_field = models.CharField(max_length=100)  # Замените тип поля на ваше решение

    @property
    def my_fake_field(self):
        return "Some value"  # Замените эту строку на ваше решение

3. После внесения этих изменений перезапустите сервер разработки Django и зайдите на страницу администратора. Теперь вы должны увидеть фиктивное поле my_fake_field в режиме только для чтения на странице редактирования модели MyModel. Значение фиктивного поля будет отображаться, но оно не будет доступно для редактирования.

Надеюсь, это поможет вам создать фиктивные поля в админке Django. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.