나는 Django를 처음 사용하여 두 모델의 데이터가 필요하며 하나의 쿼리로이 작업을 수행하려고합니다. 여기에 내가 무엇을 필요로하는 SQL을 가지고 있습니다. 누군가 나를 장고에서 어떻게하는지 보여 주실 수 있습니까? 어떤 도움을 크게 감상 할 수Django 2 개 모델의 데이터 가져 오기
class UserDevice(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=False)
device = models.ForeignKey(Device, on_delete=models.PROTECT, null=False)
activation_date = models.DateTimeField(default=timezone.now, null=False)
friendly_name = models.CharField(max_length=20, null=True, blank=True)
is_owner = models.BooleanField(null=False, default=False)
is_admin = models.BooleanField(null=False, default=True)
is_alerts_enabled = models.BooleanField(null=False, default=True)
class UserProfile(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, null=False)
token = models.TextField(null=False, blank=True)
first_name = models.TextField(null=True, blank=True)
last_name = models.TextField(null=True, blank=True)
:
select api_userprofile.last_name, api_userprofile.first_name,
api_userdevice.is_admin,
api_userdevice.is_alerts_enabled,api_userdevice.is_owner from
api_userprofile
join api_userdevice on api_userdevice.user_id=api_userprofile.user_id
where api_userdevice.user_id=10 and api_userdevice.device_id=29
이
제 2 개 모델입니다.
은 내가 내 위의 SQL 쿼리에 무슨 짓을했는지 장고에하고 싶은이. userprofile에서 이름과 성을, userdevice에서 is_admin, is_owner 및 is_alerts_enabled가 필요합니다. –
다음과 같은 방법을 시도해 볼 수 있습니다. https://chriskief.com/2015/01/12/combine-2-django-querysets-from-different-models/ – jape