MultipleObjectsReturned в /user/(имя объекта)/ Тип исключения: MultipleObjectsReturned
Метод запроса: ПОЛУЧИТЬ
Значение исключения: get() вернул более одного холста — он вернул 2!
Расположение исключения: C:\Users\user\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\db\models\query.py в get, строка 389
Несколько объектов с одинаковым именем, но у пользователя может быть только одно уникальное имя объекта.
Всякий раз, когда я создаю другой объект с тем же именем, я получаю эту ошибку (MultipleObjectsReturned). Я хочу разрешить каждому пользователю создавать одно уникальное имя объекта.
Например: user1 может иметь уникальное имя объекта (test), а user2 также может иметь уникальное имя объекта (test).
class Object(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
object_name = models.CharField(
max_length=100,
validators=[
# validate_canvas_title,
RegexValidator(
regex=CANVAS_REGEX,
message='Canvas must only contain Alpahnumeric characters',
code='invalid_canvas_title'
)],
)
slug = models.SlugField(max_length=100, blank=True)
class Meta:
unique_together = ['user', 'object_name']
Посмотреть
def canvasView(request, username=None, slug=None):
user = User.objects.get(username__iexact=username)
object = get_object_or_404(Object, slug__iexact=slug)
template = "pages/object.html"
context = {
'user' : user,
'object': object,
}
return render(request, template, context)