【发布时间】:2021-07-13 20:26:58
【问题描述】:
我有一个书籍模型,作者是多对多字段:
class Book(models.Model):
title = models.CharField(max_length=255, verbose_name="Title")
author = models.ManyToManyField(User, related_name="Task")
content = models.TextField(blank=True, null=True)
作者模型:
class User(AbstractUser):
introduction = models.CharField()
job_title = models.CharField()
在Book的app中,我使用modelform和UpdateView创建了一个updateview,这部分很容易做到。
# example.com/book/1/edit
path('<int:pk>/edit', views.BookEditView.as_view(), name='book-edit')
但是,在用户的应用程序中,我希望用户也能够编辑自己的书籍:
# example.com/user1/book/1/edit
path('<username>/book/<int:pk>/edit', views.UserEditBookView.as_view(), name='editbook')
问题:
- 如果我使用通用视图,它可以带两个参数吗?毕竟只需要一个参数(主键)就可以让 Django 知道哪一个需要更新。
- 如果我需要使用基于类的视图,我应该怎么做?
【问题讨论】:
标签: django