django - Django:问题声明具有相同相关对象的2个字段
问题描述
我正在尝试创建一个模型,该模型具有 2 个具有相同相关对象(Call)的字段:
class Call(LogsMixin, models.Model):
"""Definición del modelo de Proveedor."""
id = models.CharField("ID de la convocatoria", primary_key=True, null=False, default="", max_length=50)
name = models.CharField("Nombre de convocatoria", null=False, default="", max_length=200)
active = models.BooleanField("Activada", default=True)
class Consumption(LogsMixin, models.Model):
"""Definición del modelo de Consumos"""
client = models.ForeignKey('authentication.Client', verbose_name=("Cliente"), null=True, default=None, on_delete=models.SET_DEFAULT)
sap_price = models.DecimalField(("Precio de SAP"), max_digits=6, decimal_places=2, null=False, default=0)
access_date = models.DateField("Fecha de acceso", auto_now=False, auto_now_add=False)
call = models.ForeignKey(Call, verbose_name=("Convocatoria"), null=True, default=None, on_delete=models.SET_DEFAULT)
accessible_calls = models.ManyToManyField(Call, verbose_name=("Convocatorias accesibles"))
当我尝试进行迁移时,我收到下一个错误:
错误:consumption.Consumption.accessible_calls:(fields.E304)“Consumption.accessible_calls”的反向访问器与“Consumption.call”的反向访问器冲突。提示:在“Consumption.accessible_calls”或“Consumption.call”的定义中添加或更改一个related_name 参数。consumption.Consumption.call:(fields.E304)“Consumption.call”的反向访问器与“Consumption.accessible_calls”的反向访问器发生冲突。提示:在“Consumption.call”或“Consumption.accessible_calls”的定义中添加或更改related_name 参数。
是的,我阅读了提示,但这不是我需要的
我需要这个,因为我需要客户选择的呼叫以及他可以选择的呼叫
有没有人有任何线索?
解决方案
您有两个具有相同反向相关名称的字段 ,它们由 Django 自动构造为call_set
您应该将其中一个更改为唯一值
accessible_calls = models.ManyToManyField(Call, verbose_name=("Convocatorias accesibles", related_name="my_related_name"))
推荐阅读
- android - IllegalStateException when adding Fragment from Backstack
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:xlrd 中的错误
- reactjs - Spawn ENOENT error when using npx create-react-app
- javascript - 计算价格包括和不包括增值税两种方式保持相同的结果
- html - 如何在 TestCafé 的输入标签内上传文件
- python - Django ModelForm - 有没有办法动态定义字段,但不是最后一个字段?
- corda - Corda - 显式合约升级
- reactjs - 不刷新页面删除数据
- angular - 如何将验证器和 CSS 样式传播到自定义 Angular 表单组件中的输入控件?
- objective-c - NSOutlineView 将多个项目拖放到单个 xml 文件 Finder