Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2011 07:40:38

Moroznui
От:
Зарегистрирован: 2010-10-12
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Админка inline widget?

Здравствуйте. И снова я изучаю возможности django.
models.py:

class Field(models.Model):
...
for_personal = models.BooleanField(u'Только для персонала',default=False)

class Answer(models.Model):
user = models.ForeignKey(UserAnswer)
field = models.ForeignKey(Field)#,limit_choices_to={'for_personal':True,},)
data = models.TextField(u'Текст')

class UserAnswer(models.Model):
...
admin.py:
class AnswerInline(admin.TabularInline):
model=Answer
extra=1
radio_fields = {"field": admin.VERTICAL}

class UserAnswerAdmin(admin.ModelAdmin):
...
inlines = [AnswerInline]

admin.site.register(UserAnswer,UserAnswerAdmin)
В двух словах: к модели UserAnswer подключается Answer inlin'ом.
Нужно что-бы в админке поля, у которых Answer.field.for_personal=True - выводились как обычно,
а где Answer.field.for_personal=False - поле Answer.field было просто текстом(т.е. без права изменения).
Надеюсь понятно объяснил.
Если решать в лоб, то можно было бы просто написать widget, но мб есть более простые пути решения?
Спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version