今天发生了一件奇怪的事。我在请求后从支付网关导入数据:
for signature in response.json:
Signature.objects.get_or_create(**signature)
示例:
[
{'id': 1, 'plan': 1, 'customer': 1},
{'id': 31, 'plan': 12, 'customer': 22}
{'id': 2, 'plan': 3, 'customer': 50},
{'id': 3111, 'plan': 12, 'customer': 22},
{'id': 222, 'plan': 12, 'customer': 22},
]
是的,我的客户没有遵循在支付服务上手动注册签名的ID序列,所以我正在导入并保持相同的pk。
此代码按预期工作,数据现在与支付服务同步(所有导入的对象)。
现在奇怪的行为:
我正在使用Django Rest框架,在API中的POST(check validated_data)之后,在这一行出现以下错误:
Signature.object.create(**self.validated_data)
重复键值违反唯一约束"plans_signature_pkey"DETAIL: Key(id)=(1)已经存在。
验证数据:
{
"plan": "3", # This is a foreign key to plan 3
"payer_only": False,
"schedule": "09:00",
"payment_method: "CREDIT_CARD"
}
在已验证的数据中没有“PK”:1或“id”:1
Django试图用一个现有的键创建一个对象?
调试代码时,我调用了订阅。create()行31次,然后:
重复键值违反唯一约束"plans_signature_pkey"DETAIL: Key(id)=(1)已经存在。
....
重复键值违反唯一约束"plans_signature_pkey"DETAIL: Key(id)=(31)已经存在。
在呼叫32中,这是有效的。我错过了什么吗?在我看来这是一种奇怪的行为。
经过长时间的研究,我找到了解决方案。我正在使用后格里斯,而詹戈使用后格雷SQL的串行数据类型来存储自动增量键。手动主键分配将停止 pk 自动递增。解决方案:sqlsequencereset
$ django-admin sqlsequencereset app_label
"使用此命令生成SQL,它将修复序列与其自动递增的字段数据不同步的情况。"
我有两个具有@ManyToOne关系的实体类,如下所示。 我是Spring Data JPA的新手,所以这可能是一个非常基本的错误。
我在使用复合主键创建实体时遇到问题,该键也是外键。这是我的表和关系表原理图。当我想创建新闻实体时,我收到了带有null creatingnews的错误消息。新闻翻译有复合主键,外键引用到新闻表。 这是我的代码: 新闻聚合 新闻翻译 标签 新闻语言ID 在NewsFactory中,我希望使用NewsTranslation创建NewsAggregate,但有错误消息NullPointer。 新闻工厂
问题内容: 我刚开始使用Django REST框架,但是在保存外键时遇到了麻烦。我有一个模特和一个model。的Phone外键为。向发出请求时,我想为Phone请求中提供的数字创建对象。但是,当我提供电话号码时,会出现以下错误 我只希望它创建Phone对象本身。这是我正在使用的模型: 这是我正在使用它们的视图和序列化器 这是我的请求正文: 这是回应: 400错误的要求 问题答案: 该由Django
我有以下实体: 我第一次使用复合主键,所以我不知道它应该如何工作。问题可能来自定义。第二个参数应该表示ID。但是没有一个主键,而是有两个主键,所以我认为我应该将id类添加到id参数中,但这不起作用。如何使用带有CrudRepository的IdClass键保存具有复合主实体?
当我试图保存我的Android游戏(通过Android模拟器在我的Windows笔记本电脑上播放),我得到一个。我花了几个小时尝试不同的东西,但仍然感到困惑,因为代码完全适用于我以前的版本,而不是Android系统。
我想在一个外键中保存多个关系对象,但不幸的是,我在下面附加了一个错误。我的数据库中已经有ID为189的对象 错误: views.py 序列化程序。派克 模型。派克