根據我的知識,無論何時我們創建表格,它都會從表格中提取表格並將其保存到同一個表格中。 例如:如何從特定的表格中創建表格並將其保存到不同的表格
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