两个外键发出django

时间:2017-02-27 18:08:07

标签: django django-models foreign-keys

嗨我有django的这个python代码,基本上我正在尝试构建它,以便每个tourobject可以有很多旅游团但我也希望能够保存某个获胜的tourbet作为当前的赌注然后django抱怨它无法找到TourBet

 class TourObject(models.Model):
    tourplace = models.ForeignKey(TourPlace, related_name='tourplace', verbose_name="tourplace", default=1)
    title = models.CharField(max_length=155, blank=True)
    description = models.TextField(blank=True)
    date_created = models.DateTimeField(auto_now_add=True)
    status = models.BooleanField(default=False, verbose_name="Status")
    end_date = models.DateTimeField(blank=True, default=datetime.now)
    current_bet = models.IntegerField(blank=True, default=0)
    next_bet = models.IntegerField(blank=True, default=0)
    no_auction_price = models.IntegerField(blank=True, default=1)

    objects = models.Manager()

    def __unicode__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("tourobjects:tourobject", kwargs={"pk": self.pk})

class RelatedTourObject(models.Manager):
    def get_queryset(self):
        return super(RelatedTourObject, self).get_queryset().select_related('tourobject').all()

class TourBet(models.Model):
    user = models.ForeignKey(User, related_name='tourbet', verbose_name='User')
    tourobject = models.ForeignKey(TourObject, related_name='tourobjectbet', verbose_name="tourobjectbet", default=1)
    date_created = models.DateTimeField(blank=True, default=datetime.now)
    bet_amount = models.IntegerField(blank=True, default=1)

    objects = models.Manager()
    related_tourobject = RelatedTourObject()

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

1 个答案:

答案 0 :(得分:1)

我想你可以尝试一下。

class TourObject(models.Model):
    winning_bet = models.ForeignKey('TourBet', related_name='winning_bet')