2009-06-13 5 views
1

J'ai créé une classe d'utilisateurs django.auth personnalisée qui fonctionne avec Google Appengine, mais elle implique une bonne quantité de code copié (pratiquement toutes les méthodes).Réutilisation de code entre django et appengine Classes de modèles

Il n'est pas possible de créer une sous-classe car appengine et django ont des modèles de base de données différents avec leur propre magie de métaclasse. Donc, ma question est la suivante: existe-t-il un moyen élégant de copier des méthodes de la classe User de django.auth?

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 

Répondre

0

Je ne suis pas certain d'avoir bien compris votre question. Pourquoi auriez-vous besoin de définir une autre classe "Utilisateur" si Django fournit déjà la même fonctionnalité?

Vous pouvez également simplement importer la classe "User" et ajouter une ForeignKey à chaque modèle nécessitant un attribut "user".

+0

J'ai créé une nouvelle classe d'utilisateurs parce que les modèles Django ne fonctionnent pas sur AppEngine. – csytan

Questions connexes