2
私はUsers
とJobs
です。 User
がJob
を作成した場合にのみ、このJob
の情報を編集することができます。1人のユーザーにのみ "UpdateView"を表示させる方法はありますか?
そこで彼はURL .../job/update/<id>
を訪問します。 Job
がUser
はJob
でForeignKey
で、それから彼は、データを変更することができます。そうでなければ、彼は404
エラーを取得します(彼によって作成された場合。
view
機能では、私はおそらく、現在のUser
のid
を取得し、Jobs
にこのid
を比較しますForeignKey
。
しかし、多くのパターンやショートカットはので、私はこのようにそれを行うためにどのように興味class views
である。
class EditOrderView(UpdateView):
model = Job
fields = ['language_from','language_to','level','short_description','notes',
'text_to_translate','file']
template_name = 'auth/jobs/update-order.html'
class Job(models.Model):
customer = models.ForeignKey(User, related_name='orders', help_text=u"Zákazník")
translator = models.ForeignKey(User, related_name='jobs', null=True, blank=True, help_text=u"Prekladateľ")
price = models.FloatField(null=True, blank=True, help_text=u"Cena")
language_from = models.ForeignKey(Language, related_name='jobs_from', null=True)
language_to = models.ForeignKey(Language, related_name='jobs_to', null=True)
...