У меня есть сценарий, приведенный ниже:
В моем models.py
class Room(models.Model):
pop = models.ForeignKey('Pop', verbose_name="POP",
help_text="Pop this room belongs to", null=True,
blank=True)
.... other fields ....
class Pop(models.Model):
.... fields ....
В моем admin.py
class RoomAdmin(admin.ModelAdmin):
search_fields = [..some fields...]
list_diplay = (pop, ....)
..... other configuration .....
Поскольку у Room есть связь с внешним ключом с Pop, можно связать несколько комнат с одним Pop. Я должен реализовать что-то вроде этого.
- Когда пользователь нажимает ссылку «Добавить Pop» со страницы администратора django, ему должно быть разрешено связывать несколько объектов Room с объектом Pop. Но как только объекты Room были связаны с Pop, его нельзя ни редактировать, ни связать с другим Pop с экрана редактирования. Можно ли этого добиться?
У меня есть эти возможные решения, но я не знаю, как реализовать эти идеи в Django или жизнеспособны ли эти идеи:
Магия CSS. Я могу связать идентификатор CSS с поп-полем, чтобы его можно было включить только для экранов редактирования. Я не уверен, как это реализовать
Django's admin.py, если бы я мог исключить всплывающее поле из экрана редактирования, то оно могло бы работать.
Измените шаблоны, чтобы они могли поддерживать не редактируемые поля.