#python #python-3.x #django #django-models #django-views
#python #python-3.x #django #django-модели #django-просмотры
Вопрос:
У меня есть приложение Django, в котором у меня есть модель кандидата, а у кандидата есть поле Видео — отправляется в виде файла.
У меня есть возможность изменить поле, например, загрузить новое видео, и оно заменит его, но как я могу удалить видео кандидата и оставить его пустым?
в настоящее время у меня есть что-то подобное в панели администратора:
Currently: uploads/VIDEOS/mediarecorder_11.mp4
Change: [Coose File] No file chosen
как я могу просто удалить видео и оставить его пустым?
как вы можете видеть на этом изображении — https://ibb.co/FxsGRfq Я не получаю «четкого» варианта или что-то в этом роде..
Класс-кандидат:
кандидат класса (модели.Модель):
....
video = models.FileField(upload_to=f'uploads/VIDEOS', null=True, blank=True, validators=[video_size_validator],
editable=True)
cv = models.FileField(upload_to=f'uploads/CV', null=True, validators=[cv_size_validator])
...
Комментарии:
1. Добавлена модель
Ответ №1:
В clear
той же строке, что и в настоящее время, должна быть опция, проверьте ее и сохраните свой объект.
Комментарии:
1. К сожалению, четкой опции нет — у меня также есть поле CV, и оно тоже одинаковое, они оба выглядят так, когда есть файл ibb.co/FxsGRfq
2. В качестве опции вы также можете попробовать создать вспомогательную модель
CandidateVideo
с помощью atitle
file
и aForeignKey
илиOneToOne
, ссылающуюся на вашуCandidate
модель, тогда вы можете просто удалить этот объект целиком.3. Не точное решение, которое я ищу, мне просто нужно использовать некоторые элементы, и интересно, есть ли способ сделать это через панель администратора или что-то в этом роде.
4. Ну, я не уверен, есть ли способ сделать это с помощью интерфейса администратора, но вы также можете написать помощник
view
для этого, напримерuser = User.objects.get(pk=pk) | user.video = None | user.save()
5. кстати, если вы решите использовать мое первое решение, вы можете добавить несколько
videos
илиcvs
для одного и того жеcandidate
, поэтому считайте его лучшим.