Метод обновления DRF для изображений - PullRequest
1 голос
/ 02 августа 2020

У меня есть Django Модель сообщения, содержащая изображения, текст, дату создания и владельца, который может добавлять других пользователей для просмотра. Я хочу добавить функцию, которая позволяет пользователю, который находится в поле shared_to, добавлять изображение только один раз. Поэтому я создал поле ManyToMany, чтобы проверить, добавил ли пользователь свое изображение или нет. Если нет, позвольте ему добавить изображение вместе со своим идентификатором, чтобы он не смог сделать это снова. Я пробовал некоторые вещи, чтобы автоматически добавлять пользователей в поле ManyToMany и проверять, есть ли они уже в нем, но не работает.

model.py

class Post(models.Model):
    post_name = models.CharField(max_length=255)
    post_text = models.TextField(max_length=360, blank=True)
    owner = models.ForeignKey(
        settings.AUTH_USER_MODEL, related_name='owner_user', on_delete=models.SET(get_deleted_user), default=1)
    created_on = models.DateTimeField(default=timezone.now)
    date_to_open = models.DateTimeField(blank=False)
    shared_to = models.ManyToManyField(UserProfile, blank=True, related_name='shared_to_user')
    image_editor = models.ManyToManyField(UserProfile, blank=True, related_name='image_editor_user')


    def __str__(self):
        return self.post_name

    def save(self, *args, **kwargs):
        super(Post, self).save(*args, **kwargs)



class PostImage(models.Model):
    post_file = models.FileField(blank=True, null=True,
                                    upload_to='media/covers/%Y/%m/%D/')

    gallery_post = models.ForeignKey(Capsule, related_name='images', on_delete=models.CASCADE)

urls. ру

path('addimage/<int:pk>/', views.AddImageView.as_view(), name='createimage'),
...