gpt4 book ai didi

python - Django CacheMachine 中的错误忽略了模型的保存?

转载 作者:行者123 更新时间:2023-12-01 04:51:33 24 4
gpt4 key购买 nike

我有一个非常简单的 Django 类:

from django.db import models

class MyClass(models.Model):
a = models.IntegerField()
b = models.IntegerField()

def __str__(self):
return "MyClass #%s: a: %s, b %s" % (self.pk, self.a, self.b)

当我执行 CRUD 类型的操作时,此类工作正常:

>>> from statistics.models import MyClass
>>> print MyClass.objects.all()
[]
>>> x = MyClass(a=6, b=10)
>>> print MyClass.objects.all()
[]
>>> print x
MyClass #None: a: 6, b 10
>>> x.save()
>>> print MyClass.objects.all()
[<MyClass: MyClass #2: a: 6, b 10>]
>>>

现在我在类定义中添加/修改 3 行以启用 CacheMachine :

from caching.base import CachingManager, CachingMixin  # This line added
from django.db import models

class MyClass(CachingMixin, models.Model): # Added a Mix-in
a = models.IntegerField()
b = models.IntegerField()
objects = CachingManager() # This line added

def __str__(self):
return "MyClass #%s: a: %s, b %s" % (self.pk, self.a, self.b)

manage.py makemigrationsmanage.py migrate之后,我截断数据库,刷新memcached并运行我之前运行的相同实验。

然而实验失败了!保存新创建的MyClass实例后,查询数据库显示它不存在。为什么?如何解决这个问题?还有其他人看过这个吗?

>>> print MyClass.objects.all()
[]
>>> x = MyClass(a=6, b=10)
>>> print MyClass.objects.all()
[]
>>> print x
MyClass #None: a: 6, b 10
>>> x.save()
>>> print MyClass.objects.all()
[]

仅供引用,我对 Django Cache Machine 运行了测试,显示 here 。他们都通过了。

最佳答案

我刚刚在 Windows 机器上测试了我的 fork,现在我自己检查一下:

图片检查:http://oi61.tinypic.com/2w5jf9d.jpg

Github URL:https://github.com/asketsus/django-cache-machine

关于python - Django CacheMachine 中的错误忽略了模型的保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28336559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com