我需要从多个表中获取列,我该如何实现?
UserLog +------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+----------------+ | log_id | int(11) | NO | PRI | NULL | auto_increment | | time | datetime | NO | | NULL | | | ip_address | char(15) | YES | | NULL | | | event_id | int(11) | NO | MUL | NULL | | | user_id | int(11) | NO | MUL | NULL | | +------------+----------+------+-----+---------+----------------+ Events +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | event_id | int(11) | NO | PRI | NULL | auto_increment | | description | varchar(200) | NO | | NULL | | +-------------+--------------+------+-----+---------+----------------+
这是我的 models.py
class Events(models.Model): event_id = models.AutoField(primary_key=True,verbose_name="Event id") description = models.CharField(max_length=200,verbose_name="Description") def __unicode__(self): return u"%d : %s" % (self.event_id, self.description) class UserLog(models.Model): log_id = models.AutoField(primary_key = True) user = models.ForeignKey(User) event = models.ForeignKey(Events,verbose_name = "event") time = models.DateTimeField(default=datetime.now,blank=True) ip_address = models.IPAddressField(null=True) def __unicode__(self): return u"%s (%s): %s" % (self.log_id, self.user, self.event)
我想要做的
SELECT log_id,time,user_id,event_id,description from UserLog,Events where UserLog.event_id = Events.event_id
我试过了UserLog.objects.filter(event_id__event_id).values('log_id','time','user_id','event_id','description')
.但它说没有这样的领域.
我的模型课中有什么需要改变的吗?