Доступ к данным, введенным в несколько форм Django, и генерация их по новому URL - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть страница проектов, где пользователи могут запускать новые проекты. Каждый проект имеет две формы.

Две формы:

class ProjectForm(forms.Form):
Title = forms.CharField(max_length=100, widget=_hfill)

class SsdForm(forms.Form):
Status = forms.ModelChoiceField(queryset=P.ProjectStatus.objects.all())

с соответствующими моделями следующим образом:

class Project(DeleteFlagModel):
Title = models.CharField(max_length=100)

class Ssd(models.Model):
Status = models.ForeignKey(ProjectStatus)

Теперь, когда пользователь заполняет эти две формы, данные сохраняются в базе данных. Я хочу получить доступ к этим данным и сгенерировать их на новый URL. Поэтому я хочу получить «Заголовок» и «Статус» из этих двух форм, а затем показать их на новой странице для этого одного проекта. Я не хочу, чтобы «Заголовок» и «Статус» отображались во всех проектах, только для одного проекта за раз. Если это имеет смысл, как бы я это сделал?

Я очень новичок в Django и Python (хотя я читал учебные пособия по Django), поэтому мне нужно как можно больше помощи.

Заранее спасибо

Edit:

Код ProjectStatus (под моделями):

class ProjectStatus(models.Model):
Name = models.CharField(max_length=30)
def __unicode__(self):
return self.Name

1 Ответ

1 голос
/ 17 апреля 2010

У вас, похоже, нет никакой связи между Project и SSD. Без этого невозможно сказать, что какой-либо конкретный объект SSD является участником определенного проекта. Я предполагаю, что в этих моделях есть другие поля, иначе нет смысла иметь SSD в качестве отдельной модели - status должно быть просто полем в модели проекта.

Но как только вы установили связь между Project и SSD, вы можете просто получить проект и затем показать связанные с ним объекты SSD за один раз, используя взаимосвязь:

proj = Project.objects.get(pk=myvalue)
for ssd in proj.ssd_set.all():
     print ssd.Status

Кроме того, эти формы представляют собой простые формы, а не ModelForms. Что происходит с данными в них? Если бы они были моделями, вы могли бы сохранить их, просто позвонив form.save().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...