Mam model, w którym muszę przechowywać rok urodzenia. Używam administratora django. Osoba używająca tego będzie codziennie wypełniała mnóstwo ludzi, a funkcja DateField() pokazuje zbyt wiele (nie interesuje go dzień/miesiąc).Wyświetlany tylko rok w django admin, YearField zamiast DateField?
To makieta model pokazano, jak to jest teraz:
class Person(models.Model):
name = models.CharField(max_length=256)
born = models.IntegerField(default=lambda: date.today().year - 17)
Jak widać, większość ludzi ma 17 lat, więc jestem coraz ich rok urodzenia jako domyślne.
Czy mogę to zrobić lepiej? Jak mogę wydobyć YearField z DateField? Jeśli robię YearField, mogę nawet zrobić kilka "łatwych tagów" takich jak "teraz", które ma ta data. (Oczywiście wyspecjalizowany BornYearField miałby łatwe przyciski na rok 1989, 1990, 1991 i inne wspólne lata)
Tak, znałem ten problem. Jednak myślałem, że ponieważ jest to rok tylko po to, aby pomóc ludziom w zakładaniu nowych członków przez cały dzień, potrzebuje tylko aktualizacji raz w roku. Po prostu musi "prawie trafić" w średnim wieku. Ale dziękuję, oczywiście rozwiązanie lambda jest lepsze. –
Czy to tylko ja lub ta przecząca odpowiedź nie dotyczy pytania? –