Все, что «принадлежит» пользователю, должно иметь ForeignKey
или ManyToManyField
(в зависимости от того, принадлежит ли объект одному или нескольким пользователям) на User
.Затем вы можете либо отфильтровать модель на основе User
:
SomeModel.objects.filter(user=some_user)
# where `user` is the name of your foreign key field
, либо получить доступ к модели через пользователя через обратные отношения, например:
class SomeModel(models.Model):
...
user = models.ForeignKey(User)
# Later ...
some_user.somemodel_set.all()
Второй метод более типичен, поскольку у вас обычно есть пользователь уже из запроса, поэтому, на ваш взгляд, вы просто должны сделать:
somemodels = request.user.somemodel_set.all()
Чтобы получить все SomeModel
, которыепринадлежат текущему вошедшему в систему пользователю.