Ошибка целостности Django, отношения многие ко многим

Это мой models.py:

class User(models.Model):
    email = models.EmailField()

    def __unicode__(self):
        return str(self.email)


class Link(models.Model):
    link = models.URLField()
    users = models.ManyToManyField(User, through='ShortURL')


class ShortURL(models.Model):
    link = models.ForeignKey(Link)
    user = models.ForeignKey(User)
    short_end = models.CharField(max_length=20)
    counter = models.IntegerField() 

добавление пользователей работает просто отлично:

>>> user = User.objects.create("john_doe@planetearth.com")

Я получаю ошибку целостности при попытке добавить ссылку:

>>> link = Link.objects.create("stackru.com")
IntegrityError: shortener_link.short_end may not be NULL

Что мне не хватает?

1 ответ

Вам необходимо создать такую ​​ссылку:

Link.objects.create(link="stackru.com", user = request.user, short_end = 'stack', counter = 0)

так как все эти поля обязательны для заполнения.

Другие вопросы по тегам