【发布时间】:2019-03-06 00:52:39
【问题描述】:
我想获取与 TWEET 模型中的用户字段相关的用户名值。
这是我正在使用的两个模型:
class Tweet(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
user = models.ForeignKey('USER', models.DO_NOTHING, db_column='USER_ID') # Field name made lowercase.
content = models.CharField(db_column='CONTENT', max_length=45) # Field name made lowercase.
timestamp = models.DateTimeField(db_column='TIMESTAMP') # Field name made lowercase.
like_counter = models.IntegerField(db_column='LIKE_COUNTER') # Field name made lowercase.
parent_tweet = models.ForeignKey('self', models.DO_NOTHING, db_column='PARENT_TWEET', blank=True, null=True) # Field name made lowercase.True
class User(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
username = models.CharField(db_column='USERNAME', max_length=45) # Field name made lowercase.
email = models.CharField(db_column='EMAIL', max_length=100) # Field name made lowercase.
password = models.CharField(db_column='PASSWORD', max_length=45) # Field name made lowercase.
序列化查询集的函数:
#returns a queryset of first 5 tweets in order of most recent
tweet_data = Tweet.objects.filter(user_id__in = following_ids).filter().order_by('-timestamp')[:5]
tweet_data_json = serializers.serialize('json', tweet_data, fields=('id','user__username','content','timestamp','like_counter','parent_tweet'))
return tweet_data_json
在 serialize() 中,我使用 user__username 希望返回由 tweets 表中的用户值引用的用户名,但这不会出现在我的 json 数据中?
【问题讨论】:
-
你说的是序列化器和视图集吗?