python - 有没有什么方法可以在 django 中使用相同的 url 和视图来更新和创建表单数据?
问题描述
我正在创建一个表单,该表单能够在不存在的情况下创建帖子,或者在已经存在的情况下更新帖子。我想使用相同的 url 和视图来做到这一点。django 通用类视图为此使用了两个 url。虽然我能够创建一个帖子,但为了更新,我无法获取相应外键的现有数据。如果数据库中已经存在某些数据,我想更新这些现有数据。我的代码如下。
模型.py
class BookDetail(models.Model):
book = models.ForeignKey(Book,default=None,on_delete=models.CASCADE)
book_summary = models.CharField(max_length=255,null=True)
book_details = RichTextUploadingField(blank=True,null=True)
timestamps = models.DateTimeField(auto_now_add=True,auto_now=False)
updated = models.DateTimeField(auto_now_add=False,auto_now=True)
bookdetails 由书籍模型的外键组成。我想使用这些外键创建书籍详细信息。但是,如果详细信息已经创建并且用户想要更新这些详细信息,我希望它使用相同的 url 进行更新。我使用了 django 的 update_or_create 方法。但是我无法在 update_or_create 方法的默认属性中发送表单数据。如何使用相同的 url 创建和更新这些数据?
解决方案
推荐阅读
- python - 为什么请求响应中的 html 会偏离开发工具?
- javascript - Extjs:如何在拖动时禁用文本选择并保持自动滚动?
- c - 循环索引的伪代码以 2 开头
- c++ - 就地创建 std::optional
- pyspark - pyspark.sql.utils.AnalysisException:参考“cte5.cte5_cnt”不明确
- javascript - 如何将数组奇数位置的值加倍,并返回完整数组?
- javascript - MediaElement 跟踪观看时间
- math - 如何在给定总量的情况下将比率转换为数字?
- clang - 如何遍历 RecursiveASTVisitor 中的隐式代码?
- python - Hackerrank Python 嵌套列表练习