Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Март 24, 2007 15:42:39

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

В админке такая штука выпадает после ввода значений (CharField). Что то теряюсь установить причину. ???



Офлайн

#2 Март 24, 2007 16:41:30

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Please correct the error below.

Код модели и скриншот в студию.



Офлайн

#3 Март 24, 2007 16:46:31

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.


from django.db import models
from datetime import date

# Create your models here.
class Test(models.Model):
title = models.CharField(“Title”,maxlength=200)
create_date = models.DateField()

def __str__(self):
return“%s, %s” % (self.title, self.create_date)

class Admin():
fields = (
('It is avalaible tests.', {'fields': ('title','create_date')}),
)

TYPE = (('One', ‘One answer’), ('Multi', ‘Multi answer’), ('Text', ‘Text answer’))

class Question(models.Model):
quest = models.CharField(“Question”,core=True, default=“”, maxlength=“500”)
type_quest = models.CharField(“Type”,maxlength=200 , core=True ,radio_admin=True, choices=TYPE, default = ‘One’)
link_test = models.ForeignKey(Test, edit_inline=models.TABULAR)

def __str__(self):
return “%s, %s” % (self.quest, self.type_quest)

class Admin():
fields = (
('Questions:', {'fields': ('quest','type_quest',)}),
)

class Answer(models.Model):
answ = models.CharField(“Answer”,maxlength=200,core=True)
corr = models.BooleanField(“True or False?”,core=True, default=False)
link_quest = models.ForeignKey(Question, edit_inline=models.TABULAR)

def __str__(self):
return self.answ

class Admin():
fields = (
('Answer:', {'fields': ('answ','corr')}),
)



Офлайн

#4 Март 24, 2007 17:25:51

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Please correct the error below.

Скриншот?



Офлайн

#5 Март 24, 2007 17:30:36

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

Вроде уже отправлял. Вот еще раз прикрепляю.



Отредактировано (Март 24, 2007 17:36:49)

Офлайн

#6 Март 24, 2007 17:43:28

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

Если скриншота не видно, то на словах. Все в принципе видно из модели. Я пытаюсь через admin создать объект Answer или Question, ввожу ответ и тыкаю checkbox (верно\неверно), нажимаю Save и вот оно сообщение сверху появляется. Нормально создается только Test. Кстати через shell все хорошо работает.



Офлайн

#7 Март 24, 2007 17:50:01

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

И еще.. Можно ли сделать, чтобы в админке при создании теста у него ниже не только поля вопросов появлялись, но и поля для ответов на эти вопросы. Трехуровневая система. Или это невозможно?



Офлайн

#8 Март 25, 2007 09:53:39

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

title = models.CharField("Title",maxlength=200)
Тут советую заменить “Title” на _(“Title”). Дальше будет проще делать локализацию.

quest = models.CharField("Question",core=True, default="", maxlength="500")
type_quest = models.CharField("Type",maxlength=200 , core=True ,radio_admin=True, choices=TYPE, default = 'One')
В type_quest убрать core=True. Достаточно одного поля core, и не типа radio (его не выбрать нельзя).

link_test = models.ForeignKey(Test, edit_inline=models.TABULAR)
Это к стилю кодирования относится. IMHO, лучше заменить link_test на test. Приятнее для дальнейшего чтения.

corr = models.BooleanField("True or False?",core=True, default=False)
Здесь core=True тоже только вредит.

quest01
Кстати через shell все хорошо работает.
Похоже потому, что в shell нет core=True ;)

quest01
И еще.. Можно ли сделать, чтобы в админке при создании теста у него ниже не только поля вопросов появлялись, но и поля для ответов на эти вопросы. Трехуровневая система. Или это невозможно?
Похоже что нет. Админка вообще расчитана на довольно стандартные действия.



Офлайн

#9 Март 25, 2007 13:31:01

guest01
От:
Зарегистрирован: 2007-03-24
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

Ок. Может я не совсем понимаю зачем нужна эта опция core. Я то думал она только для того, чтобы админке указать видимость на поля модели потомка в окне предка. понятно выразился?



Офлайн

#10 Март 25, 2007 17:31:24

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Please correct the error below.

Не совсем. Если редактор сайта очистит поле с core=True и сохранит объект-родителя, админка автоматически удалит этот прикреплённый объект.

Заметьте, кнопочки “Удалить” для присоединённый объектов не предусмотрено. Так что core=True – единственный вариант удаления мусора в случае отсутствия класса Admin в модели зависимого объекта.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version