Ошибка целостности 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)
так как все эти поля обязательны для заполнения.