Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何筛选表单中的选项FK?_Django_Django Models_Django Forms_Django Views - Fatal编程技术网

Django 如何筛选表单中的选项FK?

Django 如何筛选表单中的选项FK?,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,我想根据用户记录筛选表单中的选项。这是我的模型 #models.py class Store(models.Model): name = models.CharField(max_length=64, unique=True) description = models.TextField(null=True, blank=True) class StoreManager(models.Model): store = models.

我想根据用户记录筛选表单中的选项。这是我的模型

#models.py
    class Store(models.Model):
        name = models.CharField(max_length=64, unique=True)
        description = models.TextField(null=True, blank=True)

    class StoreManager(models.Model):
        store = models.ForeignKey(Store, related_name='store', on_delete=models.CASCADE)
        user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)

    class StoreLogo(models.Model):
        store = models.ForeignKey(Store, related_name='store', on_delete=models.CASCADE, verbose_name='Store')
        image = photo = models.FileField()
首先我创建了一个商店,然后我将一个StoreManager关联到一个商店,然后我想在表单中添加一个ImageLogo,所以在表单中,在field Store中,我只想列出一个用户关联的商店

Store = (SuperMarket Store), (ClothesStore)
StoreManager = John(SuperMarket Store), Julian(ClothesStore)
StoreLogo = John (can only view SuperMarket Sotre)
StoreLogo = Julian(can only view ClothesStore)  
我正在使用CBV(generic.CreateView)。 这是我的看法

#views.py
class AddPhotoOnEstablishment(LoginRequiredMixin, generic.CreateView):
    model = StoreLogo
    fields = ['store', 'image']
    success_url = reverse_lazy('register:establishment_list')
    context_object_name = 'object_name'
我想,如果John已关联到存储并登录到系统,当他添加图像徽标时,字段存储仅显示他关联的存储。

可能会有所帮助。它解释了CreateView类的方法和属性。在render_to_响应方法中,可以使用以下代码获取当前用户:

Store = (SuperMarket Store), (ClothesStore)
StoreManager = John(SuperMarket Store), Julian(ClothesStore)
StoreLogo = John (can only view SuperMarket Sotre)
StoreLogo = Julian(can only view ClothesStore)  
self.request.user
并检查它是否与作为响应发送的商店徽标相关