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
并检查它是否与作为响应发送的商店徽标相关