Есть вопросы, связанные с этим, но я не смог найти решение. Если есть, возможно, я более чем счастлив взглянуть на него
У меня есть словарь, похожий на этот (я получаю данные из Google Analytics):
{'activityTime': '2020-01-20T17:42:20.540598Z',
'source': '(direct)',
'medium': '(none)',
'channelGrouping': 'Direct',
'campaign': '(not set)',
'keyword': '(not set)',
'hostname': 'company.sitename.com',
'landingPagePath': '/results-delay/history',
'activityType': 'PAGEVIEW',
'customDimension': [{'index': 1}],
'pageview': {'pagePath': '/thepage-path', 'pageTitle': 'comapany.domain'}}
или
{'activityTime': '2020-01-08T15:48:37.915105Z',
'activityType': 'EVENT',
'campaign': '(not set)',
'channelGrouping': 'Direct',
'customDimension': [{'index': 1}],
'event': {'eventAction': 'Successfully Logged '
'In',
'eventCategory': 'Auth',
'eventCount': '1',
'eventLabel': '(not set)'},
'hostname': 'lumwana.barrick.max-mine.com',
'keyword': '(not set)',
'landingPagePath': '/login',
'medium': '(none)',
'source': '(direct)'}
Я использую peewee для размещения некоторых элементов этого словаря в таблице, я впервые работаю с peewee (и объектно-ориентированным программированием). Я, скорее всего, что-то упустил.
У меня есть такой класс:
db = SqliteDatabase('database')
class Activity(Model):
activityTime = DateTimeField()
pageTitle = CharField(null=False)
pagePath = CharField(null=False)
eventCategory = CharField(null=False)
eventLabel = CharField(null=False)
eventAction = CharField(null=False)
class Meta:
database = db
При запуске
keys = dict_activity['sessions'] # code to get this dictionary mentioned above
for i in range(0,len(keys)):
session = keys[i]
act = session['activities']
for activity in range(0, len(act)):
Activity.create(**act[activity])
print(Activity.activityTime)
я получаю сообщение об ошибке:
peewee.IntegrityError: NOT NULL constraint failed: activity.pageTitle
Я бы нравится видеть, что было сохранено, чтобы подтвердить, что оно было сохранено правильно
Любая помощь будет оценена