2
我有一个Users
和Jobs
。如果User
创建了Job
,那么只有他/她可以编辑此Job
的某些信息。如何只允许一个用户看到“UpdateView”?
因此,他访问的网址.../job/update/<id>
。如果Job
是由他创建(该User
是ForeignKey
在Job
,那么他就可以修改数据,否则他会404
错误。
在view
功能,我可能会得到当前User
小号id
和比较这id
到Jobs
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)
...