Django和App Engine模型类之间的代码重用

1 投票
2 回答
582 浏览
提问于 2025-04-15 12:13

我创建了一个自定义的 Django 用户类,这个类可以在 Google Appengine 上使用,但这涉及到很多复制的代码(几乎每个方法都要复制)。

因为 Appengine 和 Django 的数据库模型不一样,各自有自己的特殊机制,所以我无法创建一个子类。

所以我想问的是:有没有什么优雅的方法可以从 Django 的用户类中复制方法呢?

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

我不太明白你的问题。为什么你还需要定义一个新的“用户”类呢?Django已经提供了相同的功能了。

你也可以直接导入“用户”类,然后在每个需要“用户”属性的模型中添加一个外键(ForeignKey)。

0

你可能想看看django助手或者app-engine-patch是干什么的。

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

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

撰写回答