【发布时间】:2014-05-23 22:16:14
【问题描述】:
我有这样的模型:
class Devices(models.Model):
name = models.CharField(max_length=255, blank=True)
uniqueid = models.CharField(db_column='uniqueid'.lower(), max_length=255, blank=True) # Field name made lowercase.
latestposition = models.ForeignKey('Positions', db_column='latestPosition_id'.lower(), blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'devices'
verbose_name = 'Devices'
verbose_name_plural = verbose_name
def __unicode__(self):
return '%s' %(self.name)
# Call the signal to create user device when the device is created.
dispatcher.connect(save_user_device, signal=post_save, sender=Devices)
class UsersDevices(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
devices = models.ForeignKey('Devices')
class Meta:
db_table = 'users_devices'
verbose_name = 'User Devices'
verbose_name_plural = verbose_name
def __unicode__(self):
return '%s %s' %(self.user, self.devices)
创建设备后,我想创建用户设备。 UsersDevices 中的 user 字段将登录创建设备的用户,devices 将是刚刚创建的设备。
def save_user_device(sender, instance, **kwargs):
## Problem is here
instance.UsersDevices.create( )
如何使用此信号与user instance 和device instance 一起创建UsersDevices
【问题讨论】:
标签: django django-signals