Получение кверисетов с прямыми результатами
Есть ли способ действительно получить queryset по прямым значениям параметров? Я собираю данные из api и иногда есть 3 варианта. Одна запись может иметь полную дату, то есть год-месяц-день, другая может иметь только год-месяц и третья может иметь только год. Если в моей базе данных есть определенная дата, то я хочу получить ее и добавить в новый объект, но если ее нет, то я хочу создать ее. Проблема в том, что когда я получаю значение, скажем, года 2017, то могу получить значения 2017, 2017-месяц и 2017-месяц-день. Есть ли способ поиска в базе данных, чтобы она могла действовать так, что если параметр не имеет значения, то он является null?
Моя модель здесь:
class Date(models.Model):
year = models.PositiveIntegerField()
month = models.PositiveIntegerField(blank=True, null=True, validators=[
MaxValueValidator(12),
MinValueValidator(1)])
day = models.PositiveIntegerField(blank=True, null=True, validators=[
MaxValueValidator(31),
MinValueValidator(1)])