Django-Rest-Api, подключите модель и API к нескольким пользователям - PullRequest
0 голосов
/ 03 июня 2019

Итак, у меня есть модель «Заметки», и у меня есть модель UserProfile (это пользователь с некоторой дополнительной информацией, такой как возраст и описание).

Прямо сейчас я могу назначить заметку пользователю, и только если я войду в систему под этим пользователем, я смогу увидеть API.

Прямо сейчас он подключен к пользователючерез иностранный ключ.Как подключить заметку к нескольким пользователям?

# Create your models here.
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
age = models.IntegerField()
description = models.CharField(max_length=300)

class Meta:
    verbose_name_plural = 'User Profiles'

def __str__(self):
    return self.user.username

@receiver(post_save, sender=User)
def create_user_data(sender, update_fields, created, instance, **kwargs):
if created:
    user  = instance
    profile = UserProfile.objects.create(user=user, age=18, description='No Description')

class Notes(models.Model):
note = models.CharField(max_length=1000)
parent_user = models.ForeignKey(
    UserProfile, blank=True, on_delete=models.CASCADE, related_name="notes"
)

class Meta:
    verbose_name_plural = 'Notes'

def __str__(self):
    return "{note}".format(note=self.note)

просмотров:

# Create your views here.
class NoteView(viewsets.ModelViewSet):
http_method_names = ['get', 'post', 'put', 'delete', 'patch']
queryset = Notes.objects.all()
serializer_class = NoteSerializer

class UserNoteView(NoteView):

def get_queryset(self):
    return self.request.user.userprofile.notes.all()
    # or
    return Notes.objects.filter(parent_user__user=self.request.user)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...