【发布时间】:2011-08-08 21:11:12
【问题描述】:
这就是我想要做的。我想知道是否有人可以提出一个好的方法:
models.py:
class Color(models.Model):
name = models.CharField(...
class Speed(models.Model):
name = models.CharField(...
class Dog(models.Model):
name = models.CharField(...
color = models.ForeignKey(Color...
speed = models.ForeignKey(Speed...
class DogRequest(models.Model):
dog = models.ForeignKey(Dog...
request_time = models.DateTimeField()
现在我想要一个用户可以输入或编辑 DogRequest 的页面,但表单应如下所示:
Enter Dog Request:
---------------------
color (dropdown V)
speed (dropdown V)
|save|
那么我将如何在视图中设计该表单?问题是用户将输入狗的属性,而不是狗的属性。所以我需要根据用户输入的内容来查找或创建狗记录。
到目前为止,我已经尝试过这样的事情:
class DogRequestForm(ModelForm):
class Meta:
model = DogRequest
fields = ('request_time','color','speed')
color = forms.ModelChoiceField(queryset=Color.objects.all())
speed = forms.ModelChoiceField(queryset=Speed.objects.all())
现在假设即使有效,我应该将代码放在哪里,以根据输入的颜色和速度来确定要使用(或创建)的 Dog 记录?以及如何从 DogRequest 填写表格?
【问题讨论】:
标签: python django django-models django-forms django-views