Did you put Test1.py and Test2.py into a "models" directory where
models.py would normally be, and add an __initial__.py file to it?

On Jun 10, 5:18 pm, rahul jain <[email protected]> wrote:
> HI Dan,
>
> Thanks for your response but that will not solve my problem.
>
> I am not splitting models. I am splitting actions defined in the
> models  across multiple files.
>
> So suppose
>
> one of my model actions is calling which in turn calls the constructor
> or simple functions defined in normal python files
>
> for ex:
>
> def action (self, request, queryset):
>
>     Test1(<params>)     //calls default constructor of the class
>     Test2(<params>)
>
> Now each of these are separate class files names as Test1.py Test2.py.
>
> In each of these files i want to do this
>
> from <project_name>.<app name>.models import <class name>
>
> But I get this error
>
> ImportError: cannot import name <class name>
>
> I tired various other variotions like just
>
> from models import <class name>
>
> from <app name>.models import <class name>
>
> or without from
>
> but none of them are working.
>
> Also, in order to call this Test1(<params>) I thought if  I import
> Test1 in models then it will just work but again not
>
> --RJ
>
>
>
> On Thu, Jun 10, 2010 at 1:57 PM, Dan Harris <[email protected]> wrote:
> > When you split things out into multiple files or directories you have
> > to remember to import them into the models.py file or the __init__.py
> > file (if using a directory).
>
> > So if i had some models in a new file "extraModels.py" for example
>
> > # In extraModels.py
> > class ExtraModel(models.Model):
> >    pass
>
> > Then in the regular "models.py"
>
> > # In models.py
> > from extraModels import ExtraModel
>
> > class RegularModels(model.Model):
> >   pass
>
> > The key is that you ahve to import any models in your split files into
> > your normal models.py file. This is because Django looks for models in
> > the models.py file only. If you make a models directory, you have to
> > import all models you want Django to recognize into your __init__.py
> > file within the models directory.
>
> > Hopefully this makes sense, if not I can try to be more clear.
>
> > Dan Harris
> > [email protected]
>
> > On Jun 10, 4:46 pm, rahul jain <[email protected]> wrote:
> >> anyone on this ??
>
> >> --RJ
>
> >> On Thu, Jun 10, 2010 at 11:34 AM, rahul jain <[email protected]> 
> >> wrote:
> >> > Hi Django,
>
> >> > In my app directory, I splitted my models and views.py into multiple
> >> > files since they start becoming very long but django is not able to
> >> > recognize those files .
> >> > It only recognizes models.py, views.py, tests.py (default ones).
>
> >> > So In my other files If i do this
>
> >> > from <project_name>.<app name>.models import <class name>
>
> >> > I get this error
>
> >> > ImportError: cannot import name <class name>
>
> >> > If I do the same on views.py, it just works fine.
>
> >> > Even on Eclipse I can see Django default files with different symbol
> >> > and python files with different symbols.
>
> >> > How to solve this problem ?
>
> >> > --RJ
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Django users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/django-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to