Hi Ramiro,

Thank you for the response.  I read the links and modified my model
files as you instructed.  I am currently able to loop through
scientists that belong to a conference and print them out.  However, I
also need to be able to loop through conferences that a scientist is
attending.  I am not able to do that with the solution that you
provided.

------ myproject.scientist.views -----
def portal
    s = get_object_or_404(Scientist, pk=scientist_id)

----- templates/portal.html
{% for conference in scientist.conference.all %}
    <a href="/">{{ conference.title }}</a>,
{% endfor %}

On Apr 5, 11:19 am, Ramiro Morales <cra...@gmail.com> wrote:
> On Sun, Apr 5, 2009 at 11:43 AM, codecowboy <guy.ja...@gmail.com> wrote:
>
> > Hi Everyone,
>
> > I'm new to the Django community and I am having trouble with circular
> > imports.  I've read every article that I can find about the issue
> > including posts on this group.  I'm going to paste my model files and
> > the stack trace.  I'm sure that this must be an issue that has come up
> > before.  Thank you in advance for any help.  If you know of an article
> > that explains the problem then point me to it.  Thanks again.
>
> > [snip]
>
> Do you need to have two, parallel, many to many relationships between 
> Scientist
> and Conference?. If the answer is no then yo don't need to define that
> relationship in both models. This alone almost solves your circular reference
> problem.
>
> The technique of using a string with the name of the model instead of tthe 
> Model
> class onject iself to indicate the target of a relationship is only needed 
> (and
> accepted) when:
>
> * The target model hasn't yet been defined (It comes after in the same
>   application models.py file).
>
> * or when you have two mutually referencing relationships between
>   two models located in diferent applications (actually, this second use case
>   isn't clearly explained in our documentation)
>
> Using these guidelines and simplifying you example to the relevant bits,
> something like this could be a start of a solution to your problem:
>
> ------ scinet.scientists.models -----------
> from django.db import models
>
> class Scientist(models.Model):
>     # ...
>     # no many to many field needed here
>
> ------ scinet.conferences.models -----------
> from django.db import models
> from scinet.scientists.models import Scientist
>
> class ConferenceAttendee(models.Model):
>     # ...
>     conference = models.ForeignKey('Conference')
>     scientist = models.ForeignKey(Scientist)
>
> class Conference(models.Model):
>     # ...
>     scientists = models.ManyToManyField(Scientist, through=ConferenceAttendee)
>
> Relevant documentation links worth reading:
>
> http://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-r...http://docs.djangoproject.com/en/dev/topics/db/models/#models-across-...http://docs.djangoproject.com/en/dev/ref/models/fields/#lazy-relation...
>
> HTH
>
> --
> Ramiro Moraleshttp://rmorales.net
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to