[英]Django - Rating on Multiple Criteria: Model Formset?
我有一個內容,希望根據多個標准進行評分。
想象一下這種模型:
class Content(models.Model):
name = models.CharField(max_length=50)
class Criteria(models.Model):
name = models.CharField(max_length=50)
content = models.ForeignKey(Content)
class ContRate(models.Model):
user = models.ForeignKey(User, help_text="Who rated ?")
crit = models.ForeignKey(Criteria)
rate = models.DecimalField()
用戶有一個顯示內容的頁面。
在此頁面上,他還可以根據設置的標准對內容進行評分
問題是:
您是否建議為此目的使用模型表單集 ?
還是應該通過簡單的Ajax表格發布評分?
我為什么要這樣做?
盡管您將不使用my_formset.is_valid()
或my_formset.save()
但因為這樣可以簡化視圖中的表單構造和模板中的渲染,所以我將使用模型 my_formset.is_valid()
解決此類問題。 無需擔心表單前綴等。
您對onclick
事件(通過單擊星號觸發)的Ajax
調用應以ContRate
pk
(如果存在)和rate
作為參數來調用視圖。
該視圖將實例化一個ContRateForm
(在以前使用的相同modelformset_factory
)蒙山這些參數,使用通常的機制ModelForm
驗證和數據庫插入/更新,最終使一個json
響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.