django - 如何在 django 的单个字段上从多个模型创建外键
问题描述
我有多种型号,例如,
class Service1(models.Model):
price = models.FloatField()
description = models.TextField()
class Service2(models.Model):
price = models.FloatField()
monthly_binifit = models.CharField()
description = models.TextField()
class Service3(models.Model):
price = models.FloatField()
free_contact = models.IntegerField()
monthly_binifit = models.CharField()
class Service4(models.Model)
price = models.FloatField()
monthly_binifit = models.CharField()
description = models.TextField()
other_binifit = models.CharField()
class Orders(models.Model):
user = models.ForeignKey(User, on_delete=models.CASECAD)
orders = models.ForeignKey((Service1, Service2, Service3, Service4), on_delete=models.CASECAD)
这怎么可能创建具有上述不同服务的订单
解决方案
如果没有所有详细信息,我不完全理解您要做什么,但为什么您不能只将“服务”作为外键并将 Service1、Service2、Service3、Service4 作为服务对象中的对象?
class Services(models.Model)
service = (
('Service1', ('Service1')),
('Service2', ('Service2')),
('Service3', ('Service3')),
('Service4', ('Service4')),
)
name = models.CharField(choices=service)
class Orders(models.Model)
orders = models.ForeignKey(Services,)
推荐阅读
- javascript - 将 async/await 与 respondWith 一起使用
- vscode-settings - 我可以在 Vscode 中创建自定义的 launch.json 文件吗
- python - Python中的二维列表编辑
- reactjs - 如何将 React js 与 Laravel 8 集成?
- node.js - 如何使用 typeorm 为 DB 中的关系命名?
- c# - Xamarin 不在同一页面中显示来自第二个 CollectionView 的内容
- javascript - 将鼠标悬停动作添加到表中的每一行
- python - 如何栅格化矢量数据(线)并在 python 中沿线插入值?
- macos - OS X:找不到 -licudata 的库
- html - 在反应中使用搜索栏 css