Привет Я относительно новичок в Django. Я создаю приложение, которое позволяет пользователям загружать imagegallries:Django uploadify Model Foreignkey
важная часть моих моделей выглядит следующим образом:
class location(models.Model):
name = models.CharField(max_length = 15)
class gallery(models.Model):
location_id = models.ForeignKey(location)
date = models.CharField(max_length = 15)
class Image(models.Model):
location_id = models.ForeignKey(location)
name = models.CharField(max_length=15)
image = ImageField(upload_to='songs')
class AuthKey(models.Model):
user = models.OneToOneField(User)
key = models.CharField(max_length=60)
мой взгляд выглядит следующим образом:
def myFileHandler(request):
if request.method == 'POST':
for field_name in request.FILES:
loc = request.POST['location']
date = request.POST['date']
if location.objects.filter(name=str(loc)):
for l in location.objects.filter(name=str(loc)):
id = l.id
gal = gallery(location_id=1, date='12/23/2009')
gal.save()
return HttpResponse("ok", mimetype="text/plain")
else:
return render_to_response('gallery_upload.html', context_instance=RequestContext(request))
дополнительный данные отправления (loc/date) отправляются через uploadify. Все работает нормально, но когда я пытаюсь сохранить модель «gal», она не работает. Если я тестирую его с моделью местоположения, а не с моделью галереи, он работает. Если я удалю внешний ключ из модели галереи, он также будет работать, поэтому это проблема с полем внешнего ключа. Надеюсь, у одного из вас есть решение для этого.
Во-первых, всегда называйте классы в CamelCase, то есть 'Location' не' location'. Во-вторых, не называйте внешние ключи «foo_id». Django автоматически добавляет «_id» к имени поля в базе данных, поэтому на самом деле вы получаете «foo_id_id». –