django和appengine模型类之间的代码重用

时间:2009-06-13 22:00:41

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

我创建了一个与Google Appengine一起使用的自定义django.auth用户类,但它涉及相当多的复制代码(几乎每种方法)。

无法创建子类,因为appengine和django具有不同的数据库模型及其自己的元类魔法。

所以我的问题是:有没有一种优雅的方法可以从django.auth的User类中复制方法?

from google.appengine.ext import db
from django.contrib.auth import models

class User(db.Model):
    password = db.StringProperty()
    ...
    # copied method
    set_password = models.User.set_password.im_func

2 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题是对的。你为什么需要定义 另一个“用户”类,如果Django已经提供相同的功能?

您也可以导入“User”类并为每个模型添加ForeignKey 需要“用户”属性。

答案 1 :(得分:0)

您可能想看一下django助手或app-engine-patch的功能。

助手:http://code.google.com/p/google-app-engine-django/ 补丁:http://code.google.com/p/app-engine-patch/