回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我对Django restframework很陌生,我现在尝试的是用foreignkey返回object。在</p>
<pre><code>class User(models.Model):
name = models.CharField(max_length=255,blank=True)
date_created = models.DateTimeField(auto_now_add=True)
date_modiefied = models.DateTimeField(auto_now=True)
area = models.CharField(max_length=255,blank=True)
uuid = models.CharField(max_length=255)
home = models.CharField(max_length=255,blank=True)
work = models.CharField(max_length=255,blank=True)
mobileNo = models.CharField(max_length=255,blank=True)
email = models.CharField(max_length=255,blank=True)
appVersionCode = models.CharField(max_length=255,blank=True)
photoUrl = models.CharField(max_length=255,blank=True)
serverTime = models.CharField(max_length=255,blank=True)
fcmTokenId = models.CharField(max_length=255,blank=True)
def __str__(self):
return self.name
class LocationData(models.Model):
user = models.ForeignKey(
User, related_name='user', on_delete=models.DO_NOTHING)
source_id = models.CharField(max_length=255)
latitude = models.CharField(max_length=255)
longitude = models.CharField(max_length=255)
speed = models.CharField(max_length=255)
kms = models.CharField(max_length=255)
date_created = models.DateTimeField(auto_now=True)
date_modiefied = models.DateTimeField(auto
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
class LocationDataSerializer(serializers.ModelSerializer):
class Meta:
model = LocationData
fields = '__all__'
depth = 1
</code></pre>
<p>我正在使用def get_queryset(self):</p>
^{pr2}$
<p>现在结果在下面的响应中,它立即抛出这个错误</p>
<p>但我希望queryset返回如下一个,因此我可以在android中读取这些密钥对值</p>
<pre><code>{ "collection": {
"data": {
"id": 31,
"source_id": "55",
"latitude": "24654",
"longitude": "454654",
"date_created": "2019-02-08T17:10:09.318644Z",
"date_modiefied": "2019-02-08T17:10:09.318714Z",
"area": "54546",
"user": {
"id": 1,
"name": "Dormy",
"date_created": "1992-01-18T03:29:53.388000Z",
"date_modiefied": "2018-02-19T05:17:00.164000Z",
"serverTime": "",
"fcmTokenId": ""
}
},
"statusCode": 200,
"version": "1.0"
}
</code></pre>
<p>现在错误抛出</p>
<blockquote>
<p>AttributeError: Got AttributeError when attempting to get a value for field <code>source_id</code> on serializer <code>LocationDataSerializer</code>.
The serializer field might be named incorrectly and not match any attribute or key on the <code>int</code> instance.
Original exception text was: 'int' object has no attribute 'source_id'.</p>
</blockquote>
<p>谢谢!在</p>