私のDjangoプロジェクトのPostGreデータベースからクエリしています。django.db.utils.ProgrammingError:演算子が存在しません:文字の異なる日付
以下は私のコードです。
flight_schedule_detail_instance = FlightScheduleDetail.objects.filter
schedule_id=FlightSchedule.objects.filter(schedule_id=instance.schedule_id),
flight_date=str(tomorrow_date)
)
私は特定のschedule_id
を持っており、flight_date
すべてのインスタンスをフィルタリングする必要があります。これは私のlocalhostで動作します。私は自分のlocalhostコードでsqliteを使用しています。サーバーはPostGre dbを使用します。希望の結果を得るためにどのように照会しますか?
また、FlightScheduleDetail
モデルのflight_date
は、DateField
です。そして私のschedule_id
はそのモデルのCharField
である別のモデルのForiegnキーです。
またdate
オブジェクトのtomorrow_date
変数にはstr
ラッパーを付けずに試してみました。マイmodels.py
:
class FlightScheduleDetail(models.Model):
flight_date = models.DateField(max_length=30, null=False, blank=False)
schedule_id = models.ForeignKey(FlightSchedule, null=False, related_name="schedule_details", blank=False)
route_id = models.CharField(max_length=150, null=False, blank=False, unique=True)
flight_status = models.ForeignKey(Status, null=True, default=1)
def __unicode__(self):
return u'%s' % self.route_id
class Meta:
verbose_name_plural = "flights Schedule Details"
class FlightSchedule(models.Model):
tail_number = models.ForeignKey(TailNumber, null=False, blank=False)
schedule_id = models.CharField(max_length=40, null=False, blank=False, unique=True)
flight_group_code = models.ForeignKey(FlightGroup, null=False, blank=False)
minLength = MinLengthValidator(limit_value=7)
binary = RegexValidator(r'^[0-1]*$', 'Only 0s and 1s are allowed.')
scheduled_days = models.CharField(max_length=7, validators=[binary, minLength], null=True, blank=True,
default="1111111")
origin_port_code = models.ForeignKey(Port, null=False, related_name="Origin", blank=False)
destination_port_code = models.ForeignKey(Port, null=False, related_name="Destination", blank=False)
flight_departure_time = models.TimeField()
start_date = models.DateField()
end_date = models.DateField()
def __unicode__(self):
return u'%s' % self.schedule_id
class Meta:
verbose_name_plural = "flights Schedule"
と、次のように私は私のtomorrow_date
を計算しています:
tomorrow_date = datetime.date.today() + datetime.timedelta(days=1)
私の質問で言及したように、私はクエリで 'str'キャストを取り出してみました。また、私の 'flight_date'は' DateField'です。 –
そして、私が私の答えで述べたように、sqliteは何かをフィールドに入れることを可能にします。完全なモデルを投稿する必要があります。また、どのようなtommorow_dateのように表示 – e4c5
まだMCVE FlightScheduleモデルを追加してくださいまた – e4c5