【发布时间】:2012-02-24 08:34:15
【问题描述】:
这是我拥有的示例模型:
class Category(models.Model):
name = models.CharField(max_length=128)
class Item(models.Model):
name = models,CharField(max_lenght=128)
category = models.ManyToManyField(Category, blank=True,
related_name='item_category',
null=True, through='ItemCategory')
class ItemCategory(models.Model):
item = models.ForeignKey(Item)
category = models.ForeignKey(Category)
order = models.PositiveIntegerField(default=0, blank=True, null=True)
我的问题是如何在管理端安排订单?换句话说,我需要扩展小部件功能以允许用户更改所选项目的顺序,并且当保存表单时,所选项目会将项目顺序保存在 ItemCategory.order 中。我的表格如下所示:
class CategoryForm(forms.ModelForm):
_items = forms.ModelMultipleChoiceField(
required=True,
label='Items',
queryset=Items.objects.all(),
widget=FilteredSelectMultiple(verbose_name="Items",
is_stacked=False)
)
def __init__(self, *args, **kwargs):
super(FamilyAdminForm, self).__init__(*args, **kwargs)
class Meta:
model = Items
【问题讨论】:
标签: django django-models django-admin django-forms many-to-many