upgrade_20180504_adrecord.py 993 B

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/env python
  3. """
  4. 本地化部分数据,减少大量集中db query
  5. """
  6. import os
  7. import sys
  8. #: current_dir - 2
  9. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  10. sys.path.insert(0, PROJECT_ROOT)
  11. from script.base import init_env, get_logger
  12. logger = get_logger(__name__)
  13. init_env(interactive=True)
  14. from apps.web.ad.models import AdRecord
  15. from apps.web.user.models import MyUser
  16. for record in AdRecord.objects():
  17. logger.info('saving record(id=%s)' % (record.id,))
  18. #: 标注用户性别
  19. user = MyUser.objects(openId=record.openId, groupId=record.groupId).first()
  20. maleFans = int(user.is_male) if (user is not None and record.converted) else 0
  21. femaleFans = int(user.is_female) if (user is not None and record.converted) else 0
  22. record.features['sex'] = {'is_male': maleFans, 'is_female': femaleFans}
  23. record.save()
  24. logger.info('finished!')