У меня проблема с тем, что функции Inline Admin ведут себя по-разному в разных средах.
В Dev, при редактировании технологии, я получаю ссылку внизу, чтобы добавить дополнительные модификаторы рулона по мере необходимости, которые работают без нареканий.
В тесте я получаю один модификатор рулона без ссылки, чтобы добавить больше, и он молча не может сохранить любые изменения, которые я делаю в модификатор рулона.
Один и тот же код развернут в обеих средах. Есть идеи, что здесь может происходить?
Конфигурация сервера Dev (фактически рабочий стол)
- Gentoo Linux
- Джанго 1,3
- База данных SQLLite3 (хранится локально)
- Встроенный сервер разработки Django
- Python 2.6.6
Тестовая настройка сервера
- SuSE Linux 11.4
- Django 1.3 (также пробовал с Django 1.2.5)
- PostgreSQL 9.0.3
- Apache2 2.2.17
- Python 2.7
Приложение A - Код модели
class Technology(models.Model):
categories = (
('weap' , 'Weaponry'),
('equip', 'Equipment'),
('cons' , 'Construction'),
('ammo' , 'Ammunition'),
)
name = models.CharField(max_length=40)
category = models.CharField(max_length=8, choices=categories)
urlname = models.CharField(max_length=20)
description = models.TextField()
base_difficulty = models.IntegerField()
tier = models.IntegerField()
show = models.BooleanField()
def __unicode__(self):
return self.name
class TechnologyRollModifier(models.Model):
technology = models.ForeignKey(Technology)
modifier = models.IntegerField(default=2)
condition = models.CharField(max_length=120)
Приложение B - Код администратора
from django.contrib import admin
from solaris.warbook import models
class TechnologyRollModifierInline(admin.StackedInline):
model = models.TechnologyRollModifier
extra = 0
class TechnologyAdmin(admin.ModelAdmin):
fields = ['name', 'urlname', 'description', 'tier', 'category', 'base_difficulty', 'show']
inlines = [TechnologyRollModifierInline,]
admin.site.register(models.Technology, TechnologyAdmin)