Thanks for tip tim.
Actually I have noticed a weird thing. Hope you can explain why it happened:
Initially, I had installed south. when I created a fresh sqlite database, 
the module that I created always came separate form others. That is 
.manage.py syncdb resulted in


Not synced (use migrations):
 - userpics

Then after migrate the database was created.

Then I disabled south module and started with a fresh database (with 
unique=False in the model) and I saw taht the error is gone. Now I can 
upload multiple images. How is it so? What could be wrong with the module 
that south treated it separately?

Thanks,
Hannes




On Wednesday, November 20, 2013 1:36:14 AM UTC+1, tim wrote:
>
> If you first run syncdb with the UserPic.user field unique=True, it's not 
> enough just to change unique=False. You'll also need to remove the database 
> unique constraint. Do you have the problem on a fresh syncdb if 
> unique=False? If so, it would be helpful to include the full traceback of 
> the error.
>
> On Tuesday, November 19, 2013 4:34:35 PM UTC-5, HannesP wrote:
>>
>> I'm Django noob so please bear with me. I am trying to make a simple 
>> gallery for usres so that they can upload pics to their profile. Here are 
>> the relevant parts:
>>
>> models.py
>>
>> def get_uplaod_file_name(instance,filename):
>>     return 'uploaded_files/%s_%s' % (str(time()).replace('.','_'), filename)
>> class UserPic(models.Model):
>>     user = models.ForeignKey(User, unique=False)
>>     picfile = models.FileField(upload_to=get_uplaod_file_name)
>>
>>     @models.permalink
>>     def get_absolute_url(self):
>>         return ('view_pirate', None, {'user': self.account.user})    
>>
>>     def __unicode__(self):
>>         return unicode(self.picfile.name) 
>>
>> views.py
>>
>> @login_requireddef list(request):
>>     # Handle file upload
>>     if request.method == 'POST':
>>         picform = PicForm(request.POST, request.FILES)
>>         if picform.is_valid():
>>
>>             newpic = UserPic(picfile = request.FILES['picfile'])
>>             newpic = picform.save(commit=False)
>>             newpic.user = request.user
>>             newpic.save()
>>             message = "file %s is uploaded" % newpic
>>             userpics = UserPic.objects.all()
>>
>>             return render_to_response('userpics/listpics.html',
>>                                       {'userpics': userpics, 'picform': 
>> picform},
>>                                       
>> context_instance=RequestContext(request)
>>     )
>>
>>
>>     else:
>>         picform = PicForm() # A empty, unbound form
>>
>>
>>     userpics = UserPic.objects.all()
>>
>>
>>     return render_to_response(
>>         'userpics/listpics.html',
>>         {'userpics': userpics, 'picform': picform},
>>         context_instance=RequestContext(request)
>>     )
>>
>> The app works fine for one image upload but the problem is that whenever 
>> a user tries to upload a second image, Django gives this error:
>>
>> column user_id is not unique
>>
>> I have also tried 'unique= True on a fresh database in the model, but 
>> still got stocked at this problem. Appreciate your hints. 
>>
>> Thanks
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/e9bb2a0e-4f00-4dfe-adad-ffa51060c977%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to