в этой модели вам нужно указать, какой пользователь вставил это значение. Если у вас есть модель User, вы можете добавить новое поле в модель как User, которое является полем ForeignKey.
Когда вы вставили свои данные с помощью свойства user, вы можете легко отфильтровать их с помощью user (user.id)
Например, если у вас есть модель Customer, вы можете отфильтровать значение по идентификатору пользователя (в данном случае это merchant_id):
customer = Customer.objects.filter(email=email, merchant_id=merchant_id).all()
И наша модель выглядит так:
class Customer(models.Model):
merchant = models.ForeignKey(Merchant, on_delete=models.DO_NOTHING)
name = models.CharField(max_length=128, null=True)
surname = models.CharField(max_length=128, null=True)
email = models.EmailField(max_length=255, null=True)
и вы можете определить права доступа, например:
class Task(models.Model):
...
class Meta:
permissions = [
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
]
, и вы можете проверить это с помощью:
user.has_perm('app.close_task')
Надеюсь, это поможет,