Найти - Пользователи
Полная версия: посмотрите код, посоветуйте как лучше дописать
Начало » Python для экспертов » посмотрите код, посоветуйте как лучше дописать
1
Soulmar
Здравствуйте у меня есть такое задание. Мне требуется собрать информацию и записать ее в базу данных, есть Event1 c полями (Evid, UserID, Country, Age) и Event2 с полями (Evid, UserID, Time, MoneySent) и еще …, короче как записать в бд я знаю, нужно сделать через такие классы как EventBase : , EventCustom(EventBase) - для каждого ивента и класс типо EventLogger и в нем функция (event.object) происходит запись в бд. Есть базовый класс
class EventBase:
    def __init__(self, **kwargs):
        self.data = dict()
        for kwarg in kwargs:
            value = kwargs[kwarg]
            try:
                getattr(self, kwarg, value)
            except AttributeError:
                print("Error")
            else:
                self.data[kwarg] = value
Помоги пожалуйста дописать или киньте ссылку где можно подробно про это почитать.
Shaman
Для начала:
for kwarg, value in kwargs.iteritems():
    . . .
Soulmar
Shaman, Помогите натолкнуть на мысль, что должно быть в других классах!
Shaman
Soulmar
что должно быть в других классах!
Тяжело сказать. Ведь непонятно даже что должно быть в продемонстрированном классе, т.к. код нерабочий.

Распотрошите Алхимию, или другое ORM.
Soulmar
Ну, а если не использовать этот класс, как можно сделать смысл в том что в программу поступают какие-то данные типо статистика кто зарегился в игре в какое время сколько лет ему и с какой он страны, вот и типо сделать чето универсальное чтобы она пропустила их через какой-то валидатор чтоле ну чтобы в бд не записывались левые данные а иммено такие как поля в ивенте, ну и проверка на то что данные корректны(типо “str”)
AppInstalled(AppID='1', xID=“123”, Timestamp=“lol”, Country=“Belarus”, Gender=“male”, Age=18, Buitem=“123”) - типо так могут поступать данные

для каждого такого ключа должен быть атрибут в классе знаечнием которого будет являтся валидатор.
Soulmar
Всю разобрался сам! Спасибо за неравнодушие!))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB