Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django ORM get only字段在foreignkey关系中_Python_Mysql_Django_Django Orm - Fatal编程技术网

Python Django ORM get only字段在foreignkey关系中

Python Django ORM get only字段在foreignkey关系中,python,mysql,django,django-orm,Python,Mysql,Django,Django Orm,我有这样的数据库表 class Message(models.Model): text = models.CharField(max_length=200) length = models.CharField(max_length=100) receivers = models.IntegerField() class Network(models.Model): name = models.CharField(max_length=100) i

我有这样的数据库表

class Message(models.Model):
   text      = models.CharField(max_length=200)
   length    = models.CharField(max_length=100)
   receivers = models.IntegerField()

class Network(models.Model):
  name    = models.CharField(max_length=100)
  is_down = models.BooleanField(default=False)


class SMSLog(models.Model):
   receiver = models.CharField(max_length=200)
   message  = models.ForeignKey(Message, related_name='log')
   network  = models.ForeignKey(Network)
   status   = models.CharField(max_length=200)
我的查询中只需要三个字段,即text、log\u receiver和log\u network\u name。我试过这样做

Message.objects.all().prefetch_related('log').only('text', 'log__receiver', 'log__network__name')

上述查询不起作用。如何在django ORM中执行上述查询

根据我的评论:使用
而不是仅使用

Message.objects.all().prefetch_related('log').values('text', 'log__receiver', 'log__network__name')

请尝试
.values
而不是
only
尝试:Message.objects.all().预回迁相关('log'、'log\u network')。仅('text'、'log\u receiver'、'log\u network\u name'),我已经尝试过了。表名是sms\u log还是log?型号名称似乎是
SMSLog
。尝试以下操作:Message.objects.select_related('log')。only('text'、'log__receiver'、'log__network__name')我尝试了此操作,但也不起作用,最后切换到.values(),作为答案添加,这样可能会帮助其他人。