python - Django:如何使用与先前访问的模型关联的外键创建新模型
问题描述
我目前正在开发一个网络应用程序,并且我正在使用配置文件来上传某些模型的名称。
我将如何将这些创建的模型与ForeignKey
已存在于不同应用程序中的父模型类相关联?
例如,我有以下模型:
# Base models.py
class Parent(models.Model):
name = models.CharField()
# Child models.py
class child(models.Model):
name = models.CharField()
parent = models.foreignKey('Parent', on_delete = models.CASCADE)
第一个基本模型将已经存在于数据库中,并将在以前的视图中使用。然后在当前视图中,我将调用一个函数,该函数将根据 csv 文件中的行数获取或创建一定数量的子模型,并将这些生成的模型传递到 html 模板中。
我不确定如何做是确保在函数中创建的模型将具有适当的外键,将其与前一个视图中使用的正确的特定模型相关联。
解决方案
如果您事先不知道ForeignKey
will 指向哪个模型,您可以使用 djangos generic Relations。
它的要点如下(来自文档的示例):
class TaggedItem(models.Model):
tag = models.SlugField()
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
我不确定我是否完全理解您打算做什么,但这可能是朝着正确方向迈出的一步。
推荐阅读
- javascript - 计算两个日期之间每月的天数
- angular - 在使用 karma 和 Jasmine 进行单元测试时,Root scss 是否有可能加载到组件中
- angular - 在 Docker 中部署 Spring Boot 和 Angular 应用程序时出现 CORS 错误
- amazon-web-services - 我想从在 Windows Server 2008 SP2 上的 IIS 中运行的经典 ASP 应用程序调用 AWS Rest API
- python - contactus() 得到了一个意外的关键字参数“名称”
- javascript - 引导模式事件 - 在返回之前等待回调完成
- javascript - Javascript:如何使用单选按钮在两个 div 之间显示/隐藏?
- c# - 如何在 ASP.NET Core 中设置运行时身份验证?
- c# - G1ANT studio 的插件菜单中未显示自定义插件
- php - 使用 Laravel 中的验证器检查两个表中两列的唯一性