python - 如何在 djongo 中“禁用”默认主键
问题描述
升级到 djongo 1.3.6 后出现此错误
ERRORS: some_app.Some_Class: (models.E026) The model cannot have more than one field with 'primary_key=True'.
这是给出错误的类:
# some_app/some_class.py
from djongo import models
class Some_Class(models.Model):
_id = models.ObjectIdField()
event_id = models.IntegerField(primary_key=True)
league = models.CharField(max_length=512)
event_date = models.IntegerField()
event_text = models.CharField(max_length=512)
event_group_id = models.IntegerField()
group_name = models.CharField(max_length=512)
如您所见,我只定义了一个 PK,但显然 djongo 正在创建另一个。关于如何禁用此 djongo 行为的任何想法????
解决方案
目前,Django 模型只支持单列主键。如果您没有为模型中的字段指定 primary_key = True,Django 将自动创建一个列 id 作为主键。
推荐阅读
- python - 迭代二进制数组的所有组合而不保存数组python的值
- flutter - 出现一次后重复出现的 Snackbar
- css - 我想打印一个网站并从首页中排除页脚
- statistics - 在泊松分布中找到 (1+λ)e−λ 的无偏估计量
- esper - 在 Esper 中访问新 Stream 的属性
- ios - 用户登录后无法在登录视图和仪表板视图之间切换
- php - 是否有可能在我的数据库中存储设备唯一的“标识符”?(PHP)
- php - 如何检查宽度和高度值是否介于最大宽度和高度之间?
- html - 左栏占网站的 50% 而不是 div
- docker - Filebeat:启动爬虫失败:启动输入失败:初始化输入时出错:只有在所有相关状态都完成后才能启动输入