2024-10-01 22:25:46 发布
网友
class PromoAdmin(admin.modelAdmin) list_display = ( 'name', 'id', 'category', 'promo_type', 'store', 'brand', 'date_start' ) form = SampleForm
请求时出错
Django版本:1.3.1 异常类型:TypeError 异常值:init()至少有2个参数(给定1个)
不能用初始化存储字段请求.用户在字段声明中。您可以尝试以下操作:
class MyAwesomeForm(forms.ModelForm): store = forms.ModelChoiceField(Store.objects) class Meta: model = Promo def __init__(self, user, *args, **kwargs): super(MyAwesomeForm, self).__init__(*args, **kwargs) self.fields['store'].queryset = Store.objects.filter(owner=user)
在实例化窗体时,可以传递请求.用户对象。在
如果您想在管理中实现这一点,您可以尝试this 因为在管理员中只提供与登录用户相关的对象,所以可以覆盖模型管理员.queryset功能:
请注意,只有在促销模型中存储了外键字段时,store yuu owner才起作用:
class Promo(models.Model): store = models.ForeignKey(Store) class Store(models.Model): owner = models.ForeignKey(User)
我假设也可以通过某种方式将请求传递到表单的init方法。但没有找到合适的方法来做。在
不能用初始化存储字段请求.用户在字段声明中。您可以尝试以下操作:
在实例化窗体时,可以传递请求.用户对象。在
^{pr2}$如果您想在管理中实现这一点,您可以尝试this 因为在管理员中只提供与登录用户相关的对象,所以可以覆盖模型管理员.queryset功能:
^{3}$请注意,只有在促销模型中存储了外键字段时,store yuu owner才起作用:
我假设也可以通过某种方式将请求传递到表单的init方法。但没有找到合适的方法来做。在
相关问题 更多 >
编程相关推荐