【发布时间】:2013-11-01 00:07:20
【问题描述】:
我正在使用 object.create 将记录存储到 django 数据库:
result = MyObject.objects.create(var1='foo',
var2='bar',
...
)
在执行之后result 是__str__ 返回的任何字符串(我通过将其更改为return self.id 确认了这一点)。我想访问主键值,因为在某些情况下,下一步是创建另一条记录,该记录通过外键引用该记录,但我真的希望 __str__ 返回比这更有意义的东西。
我意识到我可以抓取最近创建的,但这将是具有多个并发用户的线程代码,因此有可能以真正不幸的方式失败。
我正在使用 SQLite 数据库进行开发,但将切换到 MySQL 进行生产,因此如果有解决此问题的方法需要使用 mySQL,我现在可以进行切换。
更新 - 没关系
好的,我知道发生了什么。在第一次调用 create 时没有发生,虽然 result 被定义,但它不是一个对象。
谢谢大家。进一步挖掘以响应您的 cmets 是我找到它的原因。
尴尬地溜走 >
【问题讨论】:
标签: python mysql django sqlite