Thanks. one question: this works great if you are modifying user data. in fact, you do the checking
qs = super(RequestUpdateView, self).get_queryset() return qs.filter(owner=self.request.user) now. let's image i've a form (call it Task) that must be updated by someone (or a group of user). how can i do this control? do i have to put a "owner" field in the Task model and check it later or django does something of this automatically or exists a predefined way to do it? ciao. On Tuesday, October 9, 2012 5:14:50 PM UTC+2, Kurtis wrote: > > Check out my example of the updateview here: > http://stackoverflow.com/questions/5531258/example-of-django-class-based-deleteview/10903943#10903943 > > On Tue, Oct 9, 2012 at 10:48 AM, Stefano Tranquillini < > stefano.tr...@gmail.com <javascript:>> wrote: > >> Hi all. >> I'm trying to let user update their values still having trouble. >> >> i've my models: >> >> class Language(models.Model): >> name = models.CharField(max_length=100,default='') >> fb_id = models.IntegerField(default=0) >> >> def __unicode__(self): >> return str(self.fb_id) >> >> class UserProfile(models.Model): >> user = models.OneToOneField(User) >> name = models.CharField(max_length=100,default='') >> surname = models.CharField(max_length=100,default='') >> birthday = models.DateField(default=datetime.now, blank=True) >> email = models.CharField(max_length=100,default='') >> locale = models.CharField(max_length=100,default='') >> picture = models.CharField(max_length=255,default='') >> gender = models.CharField(max_length=100,default='') >> hometown = models.CharField(max_length=255,default='') >> #languages goes as 1-M relation >> languages = models.ManyToManyField(Language) >> latitude = models.FloatField(default=0.0) >> longitude = models.FloatField(default=0.0) >> reward_dollars = >> models.DecimalField(decimal_places=2,max_digits=8,default=0.0) >> reward_time = models.IntegerField(default=0) >> # checkins = models.TextField() >> >> def __unicode__(self): >> return self.name+' '+self.surname >> >> >> and i've create view and form >> >> class UpdateForm(BootstrapForm): >> username = forms.CharField(label=(u'name')) >> name = forms.CharField(label=(u'surname')) >> class Meta: >> layout = (Fieldset("Test","name", "surname",)) >> >> Here i used the https://github.com/earle/django-bootstrap beacuse i've >> bootstrap as frontend. >> *Question:* do i have to create the form manually? or can django create >> it automatically for me?. in the second case, how can i deal with M-to-M >> relation or with the fact that i don't want to display some fields? >> >> class UserProfileUpdate(UpdateView): >> form_class = UpdateForm >> model = UserProfile >> template_name = 'userprofile_form.html' >> >> def get_object(self, queryset=None): >> return UserProfile.objects.get(user=self.request.user) >> >> >> in the urls >> >> url(r'^profile/update/$',UserProfileUpdate.as_view()), >> >> >> >> *Question:* here in the view i rewrote the get_object in order to get >> the current user. if i don't do it django wants a pk as parameters in the >> url, that's fine. but how can i assure that the user 1 can edits only the >> data of user 1 and not user 2. if he put /2/ in the url i get access to >> user 2 data. >> In addition to this, image to have a forum and people can edits post. >> how can i assure that each user can modifty only its posts? so avoid the >> fact that calling /update/{{idsomeoneelsepost}} they can edit a post. >> >> *Question:* do i've to implement the saving things or django does it >> automatically when data are POST (if so, how can i do that?) >> >> *Problem: *right now what i get by running this code is: __init__() got >> an unexpected keyword argument 'instance' >> >> I know that they can sounds as basic question, but i found that >> documentation of django is too detailed and miss examples while >> stackexchange and the like are questions that not always appliy to my need. >> do you have a good website or book with tutorials (i see there's a similar >> post from today)? >> >> ciao >> >> >> >> >> >> -- >> Stefano >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To post to this group, send email to django...@googlegroups.com<javascript:> >> . >> To unsubscribe from this group, send email to >> django-users...@googlegroups.com <javascript:>. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/w7Y2lRG6Ru4J. 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.