gpt4 book ai didi

django - 如何为一个表编写自定义保存方法以将数据添加到不同的表?

转载 作者:行者123 更新时间:2023-12-02 06:59:56 24 4
gpt4 key购买 nike

我对 django 很陌生。我正在尝试为我的业务实现小型应用程序,即人造草坪足球场的租赁服务。服务基于 field 的每小时租金。人们可以按小时租用 field ,也可以选择成员(member)选项,其中包括在规定的时间内每周的特定日期和时间。我的模型中有两个类。

一种是一次性预订。人们可以在一周内的任何一天和任何时间预订足球场。这很简单。

class Reservation(models.Model):
name = models.ForeignKey(User)
membership = models.ForeignKey((Member), blank=True, null=True, editable=False)
date = models.DateField()
field_name = models.ForeignKey(Field)
fee = models.DecimalField(decimal_places=0, max_digits=3)
is_member = models.BooleanField(default=False, editable=False)
is_active = models.BooleanField(default=True)

def __unicode__(self):
return u'%s %s %s %s' % (self.date, self.user.first_name,self.user.last_name, self.field)

class Meta:
unique_together = (("date", "field"))

另一个成员(member)资格。人们可以申请成为成员(member)。当有人申请成员(member)时,我想自动在开始日期和结束日期之间创建当天和时间的预订,这样在那一天和时间就不会出现任何一次性预订。我需要编写一个自定义保存方法,但我找不到如何在保存成员(member)表时向预订表添加信息。我想添加成员(member)姓名并将 is_member 字段设置为 true,以便查看它是成员(member)预订。

class Member(models.Model):
DAY_CHOICES = (
(1, 'PAZARTESI'),
(2, 'SALI'),
(3, 'CARSAMBA'),
(4, 'PERSEMBE'),
(5, 'CUMA'),
(6 ,'CUMARTESI'),
(7, 'PAZAR'),
)
name = models.ForeignKey(User)
starting_date = models.DateField()
end_date = models.DateField()
day = models.IntegerField(max_length=1, choices=GUN_CHOICES)
field = models.ForeignKey(Field)
fee = models.DecimalField(decimal_places=0, max_digits=3)

def __unicode__(self):
return u'%s %s, %s, %s' % (self.name.first_name, self.name.last_name, self.day, self.field)

class Meta:
unique_together = (('date', 'field'))

你能帮忙吗?

谢谢。

最佳答案

您可以使用 post_save 信号,而不是覆盖 save 方法。

基本用法解释如下:http://www.djangofoo.com/85/signal-connect-disconnect-django-signals .

因此,每次保存成员(member)后,您都可以调用一个函数来创建适当的预订。

调整示例...

def create_reservation(sender, **kwargs):
# the object which is saved can be accessed via kwargs 'instance' key.
member = kwargs['instance']
print 'the object is now saved.'
# ...create reservation...
reservation = Reservation()
reservation.is_member = True
reservation.membership = member
....
reservation.save()

关于django - 如何为一个表编写自定义保存方法以将数据添加到不同的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com