私は、企業が情報を集めてローカルショップをアップロードできるアプリケーションを構築しています。現在のところ、動作しているフォームがありますが、企業がいつでも必要なときに情報を更新できるように、UpdateViewを実装したいと思います。 1つの所有者が唯一のサイト内1つのビジネスを持つことができるので、私は、OneToOneFieldを使用していUpdateViewクラスベースのビューを実装する方法
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)
お知らせ:
は、ここに私のmodel.pyです。フォームの
私の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を実装できない原因は何ですか? –