Мне нужно получить столбцы из нескольких таблиц, как мне это достичь?Django: Получить конкретные столбцы из нескольких таблиц
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)
Spcifically Я хочу сделать 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')
. Но в нем нет таких полей.
Есть ли что-то, что нужно изменить в классе моделей?
Вы можете разместить свое Джанго код модели? – Greg
Что такое 'LogEvents'? – Greg
К сожалению, это должно было быть «События». Обновлено! – theblackpearl