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 -~----------~----~----~----~------~----~------~--~---