Форум сайта python.su
Вылезла такая ошибка, не знаю что делать
При попытке редактировании некоторой модели постоянно не проходит валидацию формы, причем в каком поле ошибка не пишет
вот модель:
class Machine(models.Model):
serial = models.CharField(max_length=30, blank=True, null=True)
client = models.ForeignKey(Client, related_name="machines")
# customer = models.ForeignKey(Client, blank=True, null=True, related_name="machines_customer")
alias = models.CharField(max_length=30, blank=True)
machinemark = models.ForeignKey(MachineMark)
month = models.IntegerField()
motohours = models.IntegerField()
Офлайн
ах да, деталь в картину: пробовал точно те же данные ввести в inlineadmin для этой модели - все сохранилось! не вылезла ошибка валидации формы.
Как отладить?
Офлайн
скорее всего есть некоторое обязательно поле (например у тебя это может быть client, или machinemark, или month, или motohours) и ты не прописал его в классе в admin.py. Так что admin.py в студию.
Офлайн
inlineadmin - это совсем другая модель, которая видимо нормально описана в admin.py.
Офлайн
локализировал проблему:
class MachineAdmin(admin.ModelAdmin):
inlines = [#ReportInline, \
# FixInline, \
# MaintenanceInline, \
# CheckupInline, \
# UploadInline, \
]
Офлайн
проблема была в моем кастомном фильтре для обрезания пустых форм из формсета для инлайна. подскажите, как без него убрать три лишних записи в каждом инлайне пустых?
@register.filter(name='rstrip_inline_formset')
def rstrip_inline_formset(value, args):
count = 0
for form in value:
count += 1
i = 0
result = []
for form in value:
i += 1
if i>count-args:
break
result.append(form)
return result
Офлайн
vaxXxaне, не в admin.py дело, а в фильтре для шаблона инлайнов, который три пустых записи режет
скорее всего есть некоторое обязательно поле (например у тебя это может быть client, или machinemark, или month, или motohours) и ты не прописал его в классе в admin.py. Так что admin.py в студию.
Офлайн
ну, в инлайновых классах есть атрибут extra. Он отвечает за количество инлайновых полей.
Офлайн
vaxXxaспасибо, то, что нужно!
ну, в инлайновых классах есть атрибут extra. Он отвечает за количество инлайновых полей.
Офлайн