How to write my own method for saving a table to add data to another table?

I am very new to django. I am trying to implement a small application for my business, which is a rental for a football field, which is made of artificial grass. The service is based on an hourly field rental. People can rent the field hourly or they can choose a membership option that includes a specific day and hour per week for a specific period. I have two classes in my model.

One for a one-time reservation. People can reserve a football field for any day and hour in a week. It is very simple.

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"))

. , . - , , . , , . is_member true, , .

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'))

?

.

+3
1

, , post_save.

: http://www.djangofoo.com/85/signal-connect-disconnect-django-signals.

, , .

...

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()
+1

All Articles