根据我的知识,无论何时我们创建表格,它都会从表格中提取表格并将其保存到同一个表格中。 例如:如何从特定的表格中创建表格并将其保存到不同的表格
class ExampleForm(forms.Form):
class Meta:
model=Example
这里ExampleForm
从Example
模式形成,一旦提交它保存回Example
模型。 我想要的是,我想从表中开发一个表单并将其保存到另一个表中? 这可能吗?
为什么我要这个?
因为,我创建一个表单,仅包含复选框,这些复选框的标签从表中检索,但我想用户输入保存到一个不同的表
models.py
class Offer(models.Model):
package = models.ForeignKey(Package)
discount = models.CharField(max_length=120,null=True,blank=True)
transportation = models.CharField(max_length=120,null=True,blank=True)
nextTrip = models.CharField(max_length=120,null=True,blank=True)
rewardPoints = models.IntegerField(max_length=3,null=True,blank=True)
refferals = models.CharField(max_length=3, choices=REFERRAL_CHOICES)
def __str__(self):
return self.package.packageTitle
Offer
模型来创建的形式,但一旦数据被提交后,应保存在OfferRequest
模型
class OfferRequest(models.Model):
offerReq = models.ForeignKey(Offer,null=True)
userReq = models.ForeignKey(User)
discountReq = models.BooleanField(default=False)
transportationReq = models.BooleanField(default=False)
nextTripReq = models.BooleanField(default=False)
rewardPointsReq = models.BooleanField(default=False)
refferalsReq = models.BooleanField(default=False)
def __str__(self):
return self.discountReq
forms.py
class OfferRequestForm(forms.ModelForm):
discountReq = forms.BooleanField(required=False,label="Discount")
transportationReq = forms.BooleanField(required=False,label="Transportation")
nextTripReq = forms.BooleanField(required=False,label="Next Trip")
rewardPointsReq = forms.BooleanField(required=False,label="Reward Points")
refferalsReq = forms.BooleanField(required=False,label="Refferals")
class Meta:
model = OfferRequest
fields = ("discountReq","transportationReq","nextTripReq","rewardPointsReq","refferalsReq")
由于我使得从OfferRequest
形式时,其呈现为如下所示:
()折扣
()运输
() nextTrip
()反应
()奖励积分
,但我想要的是:
()折扣:3%
()交通:FREE
()nextTrip:20%
()refferals:是
()奖励积分:200
上述表格输出可以呈现,如果窗体是从Offer
模式,因为不同的优惠都在Offer
模型
现在,当这种形式(来自Offer
派生)提交定义,我希望它得到保存在OfferRequest
尽我所能来解释,确实问不清楚。
创建从另一个表的另一种形式。在处理'POST'时保存数据,使用第二种形式。 – Rohan 2015-02-10 10:33:13
你能否让它更清楚一点。我了解第二部分关于如何在处理POST时使用第二种形式。如果你可以举一个例子给出一个代码段 – dreamer 2015-02-10 10:39:46
没有得到你想要的。我看到'OfferRequestForm'是从'OfferRequest'创建的,而不是'Offer'。可能你的意思是你想在保存“OfferRequestForm”的同时将'OfferRequest.offerReq'设置为某个'Offer'模型? – catavaran 2015-02-10 12:21:45