1
更新と作成操作に単一のビューを使用しようとしています。get_or_createを正しく使用していますか?
私は2つの異なるURL採用:その後、私は私のクラスとしてこれを使用
url(r'^update/(?P<pk>[0-9]+)/$', BoardUpdateView.as_view(), name='board-update'),
url(r'^update/$', BoardUpdateView.as_view(), name='board-create'),
を:
class BoardUpdateView(UpdateView):
model = Board
fields = ['author']
context_object_name = 'board'
def get_object(self, queryset=None):
if "pk" not in self.kwargs:
self.kwargs['pk']=None
obj, created = Board.objects.get_or_create(pk=self.kwargs['pk'],
defaults={'author': self.request.user})
return obj
私は、Pythonを使用する多くの方法があります知っているが、このアプローチが起こっている場合、私は疑問に思いました問題が発生する場合や、これを行うための慣用的な方法がある場合は、例えば、pk
が存在するかどうかの私のチェックは奇妙な/グロスのようです。
あなたは三項演算子でそれを少し凝縮できたが、私はロジックか何かに問題が表示されません。 –