Возврат идентификатора объекта после загрузки файла - PullRequest
1 голос
/ 10 мая 2019

У меня есть простое приложение Django для загрузки файла изображения с помощью формы. Я хотел бы иметь возможность использовать идентификатор (первичный ключ, назначенный в модели) в функции просмотра. Как я могу получить этот первичный ключ? Я чувствую, что, должно быть, мне не хватает чего-то простого.

Модель:

class image(models.Model):
    image = models.ImageField(upload_to='images/')
    uploaded_at = models.DateTimeField(auto_now_add=True)

views.py:

def image_upload(request):
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            # id = ??????????
            # Some other processing with id...
            return render(request, 'image_uploaded.html', context=context)
    else:
        form = ImageForm()
        return render(request, 'reader/image_form.html', {
        'form': form
})

forms.py

class ImageForm(forms.ModelForm):
    class Meta:
        model = image
        fields = ('image', )

1 Ответ

2 голосов
/ 10 мая 2019

решение:

instance = form.save()
id = instance.id

метод сохранения формы возвращает экземпляр модели, которую вы сохранили, более подробная информация the-save-method

также, пожалуйста, прочитайте стиль кодирования

...