我的产品有外键学校
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)发送“用户”到其中,但是我找不到应该放在哪里。