标签:caching django-south python django
我们将South用于我们的schemamigrations和datamigrations.现在,我需要在Django中启用缓存,这非常简单.这迫使我在终端中使用manage.py createcachetable cache_table.尽管我想与South自动化此过程.有没有一种方法可以使用South创建缓存表?
解决方法:
创建一个新的South数据迁移(只是一个空白迁移):
python manage.py datamigration< app> create_cache_table
编辑生成的迁移.我称我的缓存表为简单缓存.
import datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
from django.core.management import call_command # Add this import
class Migration(DataMigration):
def forwards(self, orm):
call_command('createcachetable', 'cache')
def backwards(self, orm):
db.delete_table('cache')
...
如果您正在使用多个数据库,并且需要定义要使用的数据库.注意第二个import语句是dbs而不是db.您还需要设置路由说明:https://docs.djangoproject.com/en/dev/topics/cache/#multiple-databases.
import datetime
from south.db import dbs # Import dbs instead of db
from south.v2 import DataMigration
from django.db import models
from django.core.management import call_command # Add this import
class Migration(DataMigration):
def forwards(self, orm):
call_command('createcachetable', 'cache', database='other_database')
def backwards(self, orm):
dbs['other_database'].delete_table('cache')
...
标签:caching,django-south,python,django 来源: https://codeday.me/bug/20191122/2056910.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。