Значение по умолчанию для поля в модели Django

Есть ли лучший способ собрать мусор?

Да, не используйте new,delete или динамическую память вообще:

struct Players{};
struct Game{
    Game(Players&& players){}
};
struct GInfo {
    GInfo(Players&& players_pair):
        game(std::move(players_pair)),g_thread(&Game::start, game){}

    Game game; 
    std::thread g_thread;
};

std::list<GInfo> _actives;

void someLoop()
{
    while  (true) {
        GInfo& ginfo = _actives.emplace_back(matchPlayers());
    }
}

void garbageCollector() {
    while (true) {
        //Since C++20
        //_active.remove_if([](GInfo& i){ return !i.game.isActive();});
        //Until C++20
        auto IT =std::remove_if(_actives.begin(),_actives.end(),
                      [](GInfo& i){ return !i.game.isActive();});
        _active.erase(IT,_active.end());
        //
        sleep(2);
    }
}

быть несколько опечаток, но это идея.

89
задан Jonas Kölker 12 October 2012 в 13:52
поделиться

2 ответа

Установите для редактирования на Ложь и по умолчанию к вашему значению по умолчанию.

http://docs.djangoproject.com/en/dev/ref/models/fields/#editable

b = models.CharField(max_length=7, default='0000000', editable=False)

Кроме того, ваше поле id необязательно. Django добавит его автоматически.

139
ответ дан 24 November 2019 в 07:17
поделиться

Вы можете установить значение по умолчанию следующим образом:

b = models.CharField(max_length=7,default="foobar")

, а затем вы можете скрыть поле с помощью класса Admin вашей модели, например: это:

class SomeModelAdmin(admin.ModelAdmin):
    exclude = ("b")
21
ответ дан 24 November 2019 в 07:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: