我正在构建一个应用程序,企业可以使用一堆信息上传他们的本地商店。目前,有一种表单正在工作,但我希望实施UpdateView以便企业随时更新其信息。如何实现基于UpdateView类的视图
这里是我的model.py:
class Business(models.Model):
owner = models.OneToOneField(User, null=False)
name = models.CharField(max_length=75)
logo = models.ImageField(null=True, blank=False, upload_to=upload_location)
players = models.CharField(max_length=4, choices=PLAYERS_CHOICES, default='2-4')
average_price = models.IntegerField()
number_games = models.IntegerField()
city = models.CharField(max_length=25, choices=CITY_CHOICES)
address = models.CharField(max_length=200)
website = models.CharField(max_length=300)
description = models.TextField(max_length=1000, null=True)
timestamp = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
slug = models.SlugField(null=True, blank=True)
请注意,我使用的是OneToOneField,因为一个业主只能在站点内有一个业务。
我对形式views.py:
class BusinessCreateView(LoginRequiredMixin, CreateView):
form_class = BusinessCreateForm
login_url = '/login/'
template_name = 'business/form.html'
success_url = '/'
def form_valid(self, form):
instance = form.save(commit=False)
instance.owner = self.request.user
return super(BusinessCreateView, self).form_valid(form)
这里是我的forms.py:
class BusinessCreateForm(forms.ModelForm):
class Meta:
model = Business
fields = [
'name',
'logo',
'players',
'average_price',
'number_games',
'city',
'address',
'website',
'description',
]
我已经检查的文件,我一直没能实现一个UpdateView。
我该怎么办?
非常感谢你提前!
UPDATE
我已经尽我views.py内查询集并没有奏效:
def get_queryset(self):
return Business.objects.filter(user=self.request.user)
您的问题不清楚。什么阻止你实现UpdateView? –