1

Google Appengine で動作するカスタム django.auth User クラスを作成しましたが、かなりの量のコピーされたコード (実質的にすべてのメソッド) が含まれます。

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
4

2 に答える 2

0

django ヘルパーまたは app-engine-patch の機能を確認することをお勧めします。

ヘルパー: http://code.google.com/p/google-app-engine-django/ パッチ: http://code.google.com/p/app-engine-patch/

于 2009-06-15T14:44:56.287 に答える
0

あなたの質問を正しく理解しているかどうかわかりません。Django が既に同じ機能を提供しているのに、別の「ユーザー」クラスを定義する必要があるのはなぜですか?

「User」クラスをインポートして、「user」属性を必要とする各モデルに ForeignKey を追加することもできます。

于 2009-06-13T22:56:01.837 に答える