如何在请求中将“用户”之类的arg发送到ProductForm

时间:2018-12-14 06:18:19

标签: django-oscar

我的产品有外键学校

class Product(AbstractProduct):
    primary_school = models.ForeignKey(
        'school.School', related_name='primary_school', null=True, blank=True, 
        default=None, on_delete=models.SET_DEFAULT)

学校显示在仪表板上:

class ProductForm(base_forms.ProductForm):
    class Meta(base_forms.ProductForm.Meta):
        fields = (
            'title', 'upc', 'description',
            'primary_school',
            )

现在,我想在仪表板中为学校提供一些选项值,它基于请求中的“用户”。 所以我像这样覆盖了ProductForm init():

# def init(self, product_class, data=None, parent=None, *args, **kwargs):
def init(self, product_class, user, data=None, parent=None, *args, **kwargs):
    self.set_initial(product_class, parent, kwargs)
    # super().init(data, args, kwargs)
    super().init(product_class, data=None, parent=None, args, kwargs)
    # logger.debug(user)
    # self.user = user
    # self.fields['primary_school'].queryset = self.user.xxxxxx

和init()需要ProductCreateUpdateView(catalogue / views.py)发送“用户”到其中,但是我找不到应该放在哪里。

0 个答案:

没有答案