Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python appengine_django BaseModel和db.Model之间的差异_Python_Django_Google App Engine_Django Models - Fatal编程技术网

Python appengine_django BaseModel和db.Model之间的差异

Python appengine_django BaseModel和db.Model之间的差异,python,django,google-app-engine,django-models,Python,Django,Google App Engine,Django Models,我正在使用Django的Google应用程序引擎助手。此帮助程序在其模板中包含以下行: from appengine_django.models import BaseModel from google.appengine.ext import db # Create your models here. 我应该从db.Model还是从BaseModel派生模型? 我两个都试过了,我看不出有什么不同。即使在使用Django表单时,这两种方法似乎都有效。是否有任何理由不删除BaseModel导入

我正在使用Django的Google应用程序引擎助手。此帮助程序在其模板中包含以下行:

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

# Create your models here.
我应该从db.Model还是从BaseModel派生模型?
我两个都试过了,我看不出有什么不同。即使在使用Django表单时,这两种方法似乎都有效。是否有任何理由不删除BaseModel导入并从db.Model派生所有模型?

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

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

BaseModel还会在Django中注册继承的模型(因此,f.e.您可以通过调用django.db.models.loading.get_model('app_lable.ModelName')和与此相关的所有其他内容来请求它)

基本模型还可以在django内部注册继承的模型(因此,f.e.您可以通过调用django.db.models.loading.get_model('app_lable.ModelName')和与此相关的所有其他内容来请求它)

但是,例如,本文在db.Model中使用了Django表单。因此,似乎很模糊,“某些功能”可能不起作用,甚至谷歌文章也忽略了BaseModel。出于安全考虑,我会使用BaseModel,但我想更好地了解可能出现的问题。是不是只有模型注册“Pydev UA”才起作用在另一个答案中提到?路易斯,如果你想对这个问题有一个更完整的答案,你可能想取消这个被接受的答案。我当然想更多地了解这个问题。我完全同意你的说法“我想更好地了解可能出现的问题”如果你使用db.Model而不是BaseModel,我也同意你说他们的文档“相当不稳定”,有些功能可能不起作用。但是,例如,本文使用了Django表单和db.Model。因此,“一些功能”似乎相当模糊可能不起作用,甚至谷歌文章也忽略了BaseModel。我会出于安全考虑使用BaseModel,但我想更好地了解可能出现的问题。是不是只有模型注册“Pydev UA”在另一个答案中提到?路易斯,如果你想对这个问题有一个更完整的答案,你可能想取消这个被接受的答案。我当然想更多地了解这个问题。我完全同意你的说法“我想更好地了解可能出现的问题”如果一个人使用db.Model而不是BaseModel,我也同意你说他们的文档“相当古怪”,有些功能“可能不起作用”。