So,

Boney M's assumption here is correct.

You just need to import all of your models in the __init__.py file using
relative imports, so for example:

from .car import Car

and so on.

This works perfectly and I usually try to split the models in that way as
not to get a models.py that is over 10000 lines long.

Regards,

Andréas


Den tis 2 feb. 2021 kl 07:27 skrev Benny M <chibe...@outlook.com>:

> Just a thought, I haven’t tested this: you might be able to trick access
> to subdirectories by importing those models in the top-level
> models/__init__.py - now that I think about it, you might have to do that
> with all the models... so your __init__ file would say something like:
>
> ```
> from .car import SomeModel
> from .otherPackage.other_model import SomeOtherModel
> # and so on ...
> ```
>
> Again, I could be way off here. I’ve never looked at the magic that parses
> the models on migration creation.
>
> Best,
> Benny
>
> On Jan 30, 2021, at 5:44 PM, Manuel <emanuele....@gmail.com> wrote:
>
> Hello everyone, I have a question about Django and the use of namespaces
> or packages to split the models.py file.
> I would like to adopt the Java philosophy in which one file corresponds
> one class and one db table.
> I tried to follow this guide, but it doesn’t work.
>
> https://docs.djangoproject.com/en/3.1/ref/applications/#namespace-packages-as-apps
>
> when I execute this command: "python manage.py makemigrations myapp"
>
> Return this warning: "No changes detected in app"
>
> Is it possible to do this structure?
>
> /models
>     __init__py # if i use package, or without for namespace
>          #common import
>     car.py # class car
>     group.py # class group
>     manufactor.py # class manufactor
>     /otherPackage
>         __init__py
>             common import
>         otherClass.py
>
> I hope you understand what I’d like to do.
> Thank you.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/6cdc67de-94cb-4ad3-8c73-bc91da02b8bfn%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/6cdc67de-94cb-4ad3-8c73-bc91da02b8bfn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CH2PR14MB3913E5B5C52AD6AC35E63C69C0B59%40CH2PR14MB3913.namprd14.prod.outlook.com
> <https://groups.google.com/d/msgid/django-users/CH2PR14MB3913E5B5C52AD6AC35E63C69C0B59%40CH2PR14MB3913.namprd14.prod.outlook.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAK4qSCefVKdH02_SqJYiOMwJC5LaEFOhtynupdoeT_8XNuor6Q%40mail.gmail.com.

Reply via email to