Сохранение ListFields и CustomFields в базу данных - Django
Я очень новичок в Django и пытаюсь понять, как я могу сохранить поля в db.
У меня есть следующая модель
class CashFlow(models.Model):
Id = models.AutoField(primary_key=True)
CompanyId = models.ForeignKey(Company, on_delete=models.CASCADE)
PeriodInstant = models.TextField()
PeriodStartDate = models.TextField()
PeriodStartDateEndDate = models.TextField()
Currency = models.TextField()
Decimals = models.TextField()
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents = models.TextField(
null=True)
NetIncomeLoss = models.TextField(null=True)
Serializer:
class PeriodSerializer(serializers.Serializer):
instant = serializers.CharField()
startDate = serializers.CharField()
endDate = serializers.CharField()
class CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsSerializer(serializers.Serializer):
decimal = serializers.CharField()
unit = serializers.CharField()
period = PeriodSerializer(many=True)
value = serializers.CharField()
class NetIncomeLossSerializer(serializers.Serializer):
decimal = serializers.CharField()
unit = serializers.CharField()
period = PeriodSerializer(many=True)
value = serializers.CharField()
class CashFlow(serializers.Serializer):
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents = CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsSerializer(
many=True)
NetIncomeLoss = NetIncomeLossSerializer()
class CashFlowSerializer(serializers.Serializer):
serializers.DictField(
child=CashFlow())
Я также создал сериализатор модели, чтобы я мог отображать поля в эту модель и хранить их в базе данных
class CashFlowModelSerializer(serializers.ModelSerializer):
class Meta:
model = CashFlow
fields = ('CompanyId',
'PeriodInstant',
'PeriodStartDate',
'PeriodStartDateEndDate',
'Currency',
'Decimals',
'CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents',
'NetIncomeLoss')
View
if request.method == 'GET':
jsonData = ''
data = getData('TestCompany')
allFilings = itemgetter('filings')(data)
for item in allFilings:
linkToFilingDetails = itemgetter('linkToFilingDetails')(item)
jsonData = get_data(linkToFilingDetails, "StatementsOfCashFlows")
check = CashFlowSerializer(data=jsonData)
if (check.is_valid()):
print("ready to send to db")
return JsonResponse(jsonData, safe=False)
JSON data = http://jsonblob.com/1063218156159647744
Кроме того, поскольку CompanyId не является полем, включенным в JSON из вызова API, как я могу отобразить его и сохранить?
Спасибо, что уделили время