app engine django Base Model和db.Model之间的区别

时间:2009-11-12 05:49:32

标签: python django google-app-engine django-models

我正在使用Django的Google App Engine助手。该帮助器在其模板中包含以下行:

from appengine_django.models import BaseModel
from google.appengine.ext import db

# Create your models here.

我应该从db.Model或BaseModel派生我的模型吗? 我已经试过了两次,但我没有看到任何区别。即使使用Django表单,两者似乎都有效。有没有理由不删除BaseModel导入并从db.Model派生所有模型?

2 个答案:

答案 0 :(得分:1)

BaseModel还在django中注册了继承的模型(所以你可以通过调用django.db.models.loading.get_model('app_lable.ModelName')以及与此相关的所有其他内容来请求它)

答案 1 :(得分:0)

BaseModel是由Django助手定义的类。它扩展了db.Model,以便让Django更好地使用它。您需要导入两者的原因是因为属性类仍然直接从db使用 - 但如果您使用db.Model而不是BaseModel,您可能会发现Django的某些功能无法按预期工作。