0
这里的样本模型我有一个有序的many2many关系:如何实现在Django管理
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
这不符合我的要求,用户可以操纵在一个类别项目的顺序。 – 2012-02-01 17:10:04
对不起,我没有正确地阅读你的问题。你检查过这个[snippet](http://djangosnippets.org/snippets/2306/)吗? – 2012-02-02 06:59:37
这看起来很不错。谢谢 – 2012-02-02 14:36:46