好的,这行得通,但是我不得不对您的模型进行一些更改,所以也许我不明白您想要做什么。
我还向json添加了具有名称字段的模型,因此有一些数据可以放入,所有字段都可以留空以容纳不完整的数据。
class Member(models.Model): name = models.CharField(max_length=30) record = models.CharField(max_length=200, blank=True, null=True) pub_date = models.DateTimeField('date', blank=True, null=True)class Data(models.Model): member = models.ForeignKey(Member) dob = models.CharField(max_length=200, blank=True, null=True) event = models.CharField(max_length=200, blank=True, null=True) description = models.CharField(max_length=200, blank=True, null=True) gender = models.CharField(max_length=200, blank=True, null=True) def save(self, *args, **kwargs): member, _ = Member.objects.get_or_create(name = self.name) # can update member here with other fields that relate to them self.member = member super(Data, self).save(*args, **kwargs)下面的代码将所有json值放入Data的实例中,然后在Data的save方法中创建一个新的Member实例。未使用的值将被简单丢弃。
json = [{" Record": 12345,"Name": "Joe","Event":" Initial task completed","TeamID": 12345,"IndiviualID":"","Description":" Just a description","Date": "1/3/13 9:00"},{" Record": 5555,"Name": "Jane","Event":" A different task completed","TeamID": 9999,"IndiviualID":"","Description":" Just another description","Date": "1/13/13 6:00"}] for item in json: d = Data() for k,v in item.iteritems(): setattr(d, k.lower(), v) d.save()结果是:
会员
1 Joe 2 Jane
数据
1 1 Initial task completed Just a description 2 2 A different task completed Just another description



