2016-07-16 3 views
0

В моем проекте много моделей.Архивирование данных в Django как волшебство?

В каждой модели есть поле is_active, которое имеет значение True при производстве и False, когда оно завершено или не используется.

Есть ли по умолчанию магическое решение для этого с Django? У меня около 40-60 моделей, поэтому в идеале это должно быть одно решение, охватывающее все.

Я нашел этот ответ Archiving model data in Django, который требует усилий по разработке для каждой модели в отдельности, и это создаст множество моделей.

Любые магические альтернативы?

ответ

1

Я решил бы эту проблему с Abstract Model Inheritance.

Это позволит вам написать логику для одного класса и набора полей, и это применимо ко всем дочерним классам.

class IsActive(models.Model): 
    class Meta: 
     abstract = True 
    is_active = models.BooleanField(default=False) 

    def toggle_active(self): 
     self.is_active = !self.is_active 

class Child(IsActive): 
    # This object now has `is_active` and `toggle_active` fields. 

 Смежные вопросы

  • Нет связанных вопросов^_^