【发布时间】:2018-02-27 01:19:16
【问题描述】:
我是 django 世界的新手,我正在尝试在 django 上运行以下 sql 查询。 非常感谢任何有关如何在 django 中编写以下等效查询的线索。
型号:
class UserTraining(models.Model):
Training = models.CharField(max_length = 100,unique=True)
Category = models.CharField(max_length = 100)
Due_date = models.DateField(default=None)
def __str__ (self):
return self.Training + " " + self.Category
class UserSummary(models.Model):
Users = models.ForeignKey(settings.AUTH_USER_MODEL)
Status = models.CharField(max_length = 100)
Duedate = models.DateField(default=None)
CompletedDate = models.DateField(default=None)
Hours = models.IntegerField(default=0)
Trainings = models.ForeignKey(UserTraining,to_field='Training',blank=False,null=True)
def __str__(self):
return self.Status
class UserProfile(models.Model):
user = models.OneToOneField(User)
user_category = models.CharField(max_length = 100, blank=True, null=True)
mobile = models.CharField(max_length=256, blank=True, null=True)
DOJ = models.DateField(default=None)
def __str__(self):
return self.user.first_name + " " + self.user_category
工作sql查询:
Select UT. Training , ifnull (US.Status ,'Pending')
from SkillTracker_usertraining UT
Left outer join SkillTracker_usersummary US
On US.Trainings_id=UT.Training and Us.Users_id='4'
where UT.Category='EMEIA'
在 django 中编写上述 sql 查询时需要帮助。
我的目标是获取他所有类别的用户培训状态,如果他还没有参加培训,它应该显示为待定。
【问题讨论】:
标签: django django-models