Python 关于EchoIcefield的问题
碰巧我不得不使用PostgreSQL的数组。在Django中,模型没有对数组的本机支持,所以我使用了。但是对于管理中的显示,我应该使用hoprizontal_filter IntegerArrayField字段 models.pyPython 关于EchoIcefield的问题,python,django,postgresql,Python,Django,Postgresql,碰巧我不得不使用PostgreSQL的数组。在Django中,模型没有对数组的本机支持,所以我使用了。但是对于管理中的显示,我应该使用hoprizontal_filter IntegerArrayField字段 models.py class Group(models.Model): name = models.TextField() class User(models.Model): name = models.TextField() groups = Intege
class Group(models.Model):
name = models.TextField()
class User(models.Model):
name = models.TextField()
groups = IntegerArrayField()
管理员
class GroupAdminForm(forms.ModelForm):
groups = forms.ModelMultipleChoiceField(
queryset=Group.objects.all(),
label=('Select groups'),
required=True,
widget=FilteredSelectMultiple(
('groups'),
False,
))
class UserAdmin(admin.ModelAdmin):
fields = ('groups',)
form = GroupAdminForm
因此,此小部件将显示并正常工作。但是,在维护写操作时,无法调整类型“QuerySet”
请帮忙
UPD:
POST变量组字段中的请求信息的值仅对应于所选组的最后一个id。而不是我所期望的数组。如果没有正确的错误/回溯,就无能为力
对于您的更新点,请记住,如果您需要多个值,则需要执行
request.POST.getlist(fieldname)
。因此,首先我们需要将这些值分开:
admin.py
from .forms import GroupAdminForm
class UserAdmin(admin.ModelAdmin):
fields = ('groups',)
form = GroupAdminForm
class GroupAdminForm(forms.ModelForm):
groups = forms.ModelMultipleChoiceField(
queryset=Group.objects.all(),
label=('Select groups'),
required=True,
widget=FilteredSelectMultiple(
('groups'),
False,
))
forms.py
from .forms import GroupAdminForm
class UserAdmin(admin.ModelAdmin):
fields = ('groups',)
form = GroupAdminForm
class GroupAdminForm(forms.ModelForm):
groups = forms.ModelMultipleChoiceField(
queryset=Group.objects.all(),
label=('Select groups'),
required=True,
widget=FilteredSelectMultiple(
('groups'),
False,
))
这样做并发布您的跟踪错误,如果没有日志或错误描述,很难提供帮助。根据帖子中的数据,我在那里找到了正确的答案。您希望看到哪种类型的错误/回溯?