Django admin TabularInline
Все мои модели хранятся в специальной базе данных. Django admin используется в качестве "backoffice".
Поле id установлено во всех моих моделях :
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
Поэтому для своих моделей я переопределяю метод сохранения, чтобы использовать seq и autoincrement :
def save(self, *args, **kwargs):
if not self.id :
self.id = getNextId("__mymodel_id_seq")
super(MyModel, self).save(*args, **kwargs)
TabularInLine :
class MyModelAdminInline(admin.TabularInline):
model = MyModel
fields = ['id', 'titre_classe', 'valeur_texte', 'valeur_min', 'valeur_max', 'id_style', 'ordre', 'rayon', 'style_css',]
и используется в другом админе :
MySecondModelAdmin.inlines = [MyModelAdminInline,]
В TabularInline кажется, что я должен установить id вручную.
- Если оставить пустым : я получаю ошибку валидации и поле отображается красным цветом красным
- Если установлено readonly : я получаю то же самое
- Если не отображается в инлайне : тоже ошибка...