2010-10-12 19 views
3

J'apprends le django donc j'ai beaucoup de questions, et l'une est comment je peux réutiliser un modèle? Je veux dire les modèles vivent dans le dossier de l'application, mais certains modèles sont exactement les mêmes entre deux applications différentes. Alors, est-ce que je devrais réécrire le modèle chaque fois que j'écris une nouvelle application?Comment éviter les doublons dans le projet django?

Répondre

3

Oui, ce qui ne va pas quand vous avez les mêmes noms de la vôtre des applications Vous pouvez également utiliser abstract models

 

class CommonInfo(models.Model): 
    name = models.CharField(max_length=100) 
    age = models.PositiveIntegerField() 

    class Meta: 
     abstract = True 

class Student(CommonInfo): 
    home_group = models.CharField(max_length=5) 
 
0

Comment est-ce que je réutilise un modèle.

La meilleure façon de réutiliser le modèle consiste à Hériter de la classe du modèle parent. C'est comme ça que vous devez le faire. Héritant de models.Model.

from django.db import models 
class trial(models.Model): 
    # override the parent class methods here or define your own 

Assurez-vous également que vous import vos applications modèles dans le fichier models.py approprié.

3

Si vos modèles sont exactement la même chose dans différentes applications, vous faites quelque chose de mal. N'oubliez pas qu'une application est essentiellement un ensemble de modèles et que vous pouvez utiliser les modèles d'une application dans une autre application simplement en les important. Pouvez-vous donner un exemple de deux applications avec exactement les mêmes modèles?

+0

Que diriez-vous d'un modèle de pays? – m000

Questions connexes