在项目中有一个模型,数据库中存在现有实例。
class Instagram(models.Model):
userid = models.CharField(max_length=255, unique=True)
username = models.CharField(max_length=50, blank=True, null=True)
full_name = models.CharField(max_length=50, blank=True, null=True)
avatar = models.URLField(max_length=255, blank=True, null=True)
bio = models.CharField(max_length=255, blank=True, null=True)
.....
.....
还有另一种模型,到目前为止还没有实例
class InstagramDemographicsAnalitics(models.Model):
instagram = models.ForeignKey(Instagram, related_name='demographics')
age_group = models.CharField(max_length=10)
gender = models.CharField(max_length=10, default='female')
viewer_percentage = models.DecimalField(default=0, max_digits=5, decimal_places=2)
有必要从与项目位于同一文件夹中的文件 statistic.json 获取相应用户 ID的数据,并在此基础上创建模型 InstagramDemographicsAnalitics 的实例。
我不知道该怎么做。我真的需要一系列操作的建议,如果可能的话,我需要代码示例。
例如,此函数将采用 的实例Instagram
并返回 的实例InstagramDemographicsAnalitics
:
def get_ida_instance(instagram):
# Load all users from JSON file
all_users = json.load('example.json')
# Find the one user, this depends on the format of your JSON file
my_user = [x for x in all_users if x['userid'] == instagram.userid][0]
# Map the JSON fields to your Model
ida = InstagramDemographicsAnalitics()
ida.instagram = instagram
ida.age_group = my_user['age_group']
ida.gender = my_user['gender']
ida.viewer_percentage = float(str(my_user['viewer_percentage']))
ida.save() # If you want to persist it to the database
# Return the instance
return ida
这当然取决于您的 JSON 文件的实际格式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句