3

i'm learning django so i've many questions, and one is how i can reuse a model? i mean the models live in the application folder, but some models are exactly the same between two differents applications. So should i rewrite the model every time that i write a new app?

3 Answers 3

3

Yes, this is wrong when you have the same names of yours apps You also can use 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)

Sign up to request clarification or add additional context in comments.

Comments

3

If your models are exactly the same in different applications, you're doing something wrong. Don't forget that an application is basically just a set of models, and you can use one application's models within another application just by importing them.

Can you give an example of two applications with exactly the same models?

Comments

0

How do I reuse a Model.

Best way to reuse model is to Inherit the parent Model class. This is how you must be doing it. Inheriting from models.Model.

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

Also make sure that you import your apps models in the appropriate models.py file.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.