I could get the user profile object like below, but when I try to view
any of its properties I just get "has no attribute xxx" -
I can see that the genericUserProfile has data in it.

# Continued from earlier entries in django python shell
>>> g1 = GenericUserProfile.objects.filter(user=c1)
>>> g1
[<GenericUserProfile: aaa's profile>]
>>> g1.modify_dt
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'QuerySet' object has no attribute 'modify_dt'




On Sep 15, 6:49 pm, PlanetUnknown <nikhil.kodil...@gmail.com> wrote:
> Hello All,
>         I recently extended my User, with a User profile called
> GenericUserProfile, and it has a many-to-many field called farms (code
> below). Now all I want to do was add a "farm" to this farms field in
> the GenericUserProfile.
>
> But when I try doing that using the django python shell I get error -
> "AttributeError: 'QuerySet' object has no attribute 'get_profile'".
>
>        I'd really appreciate if someone could point out what I'm doing
> incorrectly and what is the correct approach. The documentation says
> that get_profile() is created when the profile is present and I
> checked the database and it shows an entry in "genericuserprofile"
> table corresponding to the "user" who is registered.
>
> Code -
>
> # The User profile which extends fields for User
> class GenericUserProfile(models.Model):
>     user = models.ForeignKey(User)
>     #other fields here
>     farms = models.ManyToManyField(Farm)
>     confirmation_code = models.CharField(max_length=200, unique=True)
>     is_active = models.BooleanField()
>     create_dt = models.DateTimeField(auto_now_add=True)
>     modify_dt = models.DateTimeField(auto_now_add=True)
>
>     def __str__(self):
>         return "%s's profile" % self.user
>
>     def create_user_profile(sender, instance, created, **kwargs):
>         if created:
>             profile,created = GenericUserProfile.objects.get_or_create
> (user=instance)
>
>     post_save.connect(create_user_profile, sender=User)
>
> # The Farm model, A user can have many farms, and farms can have many
> owners, hence many-to-many
> class Farm(models.Model):
>     farm_id = models.AutoField(primary_key=True)
>     is_owner = models.BooleanField()
>
> #### I try this in the django python shell, I want to add the farm to
> the "farms" field in GenericUserProfile. Hence trying to get the
> profile first.>>> f1 = Farm(farm_id=None, is_owner=True)
> >>> f1.save()
> >>> c1 = User.objects.filter(email__iexact="x...@xyz.com")
> >>> c1.get_profile
>
> Traceback (most recent call last):
>   File "<console>", line 1, in <module>
> AttributeError: 'QuerySet' object has no attribute 'get_profile'
--~--~---------~--~----~------------~-------~--~----~
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