Django更新模型而不是插入(pk = None)(INSERT INTO QUERY)

时间:2014-09-08 11:09:47

标签: django

我试图保存模型条目,但django坚持更新旧条目而不是创建新条目。这是我创建新条目的代码:

打印参数显示log_entry.pk =保存前无,保存后log_entry = old_entry.pk。

    log_entry = QuoteResponseLog()
    log_entry.quote_response = self
    log_entry.manager = manager
    log_entry.message = action.log()
    print(log_entry)
    log_entry.save(force_insert=True)
    print(log_entry)

编辑:QuoteResponseLog模型(Django-model-utils

from model_utils.models import TimeStampedModel
class QuoteResponseLog(TimeStampedModel):
    quote_response = models.ForeignKey(
        QuoteResponse
    )

    manager = models.ForeignKey(
        Manager
    )

    message = models.CharField(max_length=256)

    def __unicode__(self):
        return str(self.created) + " : [" + str(self.manager) + "] : " + self.message + "(" + str(self.pk) + ")"

编辑2: 来自实际sql查询的日志条目:

{u'time': u'0.003', u'sql': u'QUERY = u\'INSERT INTO "quote_hub_quoteresponselog" ("created", "modified", "quote_response_id", "manager_id", "message") VALUES (%s, %s, %s, %s, %s)\' - PARAMS = (u\'2014-09-08 11:57:10.150000\', u\'2014-09-08 11:57:10.172000\', 6, 3, u\'Godk\\xe4nnde\')'}

EDIT3:在dbshel​​l中插入的SQLQuery正常工作。

1 个答案:

答案 0 :(得分:0)

错误是微不足道的,级联删除。在分配给lg_entry.quote_response之前删除了自己。