0

それが私の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("stackoverflow.com")
IntegrityError: shortener_link.short_end may not be NULL

私は何が欠けていますか?

4

1 に答える 1

0

次のようなリンクを作成する必要があります。

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

これらのフィールドはすべて必須であるためです。

于 2012-07-07T01:19:37.833 に答える