2013-08-21 59 views
0

我想添加多個複選框以根據複選框選擇在視圖中過濾鮮花。我很喜歡Django。我如何修改我的models.py?將多個Checbox組添加到Django管理面板

from django.db import models 

class Flower(models.Model): 
    name = models.CharField(max_length = 30) 
    price = models.DecimalField(max_digits=6, decimal_places=2) 
    details = models.TextField() 

    def __unicode__(self): 
     return self.name 
    def my_upload_to(instance, filename): 
     return 'static/media/' + instance.name + '.jpg' 
    image = models.ImageField(upload_to=my_upload_to) 

回答

0

可以使用的形式得到完成,這裏是代碼:

from django.forms import widgets 
class FlowerForm(forms.ModelForm): 
    name = forms.ModelMultipleChoiceField(label='Name',queryset=Flower.objects.all(), 
      widget=forms.CheckboxSelectMultiple) 
    class Meta: 
     model = Flower 
+0

管理面板中沒有任何更改。我明白這個代碼添加花複選框。我想添加一些od花屬性的複選框,並希望根據此屬性進行過濾。 – GaripTipici

+0

您需要使用選定的清單創建自定義表格。 – Pradeep

0

一些事情是這樣的:

在views.py:

# get the selected flower id as fid 
FlowerForm = create_flower_form(fid) 
的形式

。 py:

def create_flower_form(id): 
class fform(forms.ModelForm): 

    name = forms.ModelChoiceField(label='Flower type ', 
      queryset=FLower.objects.filter(id=fid)) 


    class Meta: 

     model = Flower 

return fform