2009-06-13 13 views
1

Google Appengineで動作するカスタムdjango.authユーザークラスを作成しましたが、かなりの量のコピーされたコードが含まれています(事実上すべてのメソッド)。djangoとappengineモデルクラス間のコード再利用

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 

答えて

0

私はあなたの質問を正しく理解しています。なぜDjangoがすでに同じ機能を提供しているのであれば、 別の "User"クラスを定義する必要がありますか?

また、単に「ユーザー」クラスをインポートして、「ユーザー」属性を必要とする各モデル にのForeignKeyを追加することができます。

+0

DjangoのモデルはAppEngineの上では動作しませんので、私は新しいユーザークラスを作成しました。 – csytan

関連する問題