Hi,
Today, I have problem when query data from defined model, given that my model does not contain any ‘id’ columns
# models.py
class Omo(models. Model):
id_date = models.IntegerField()
date = models.DateField()
transactionmode = models.CharField(db_column='transactionMode', max_length=50, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
omo_rate = models.FloatField(blank=True, null=True)
acceptedvalue_bil = models.FloatField(db_column='acceptedValue_bil', blank=True, null=True) # Field name made lowercase.
term = models.FloatField(blank=True, null=True)
class Meta:
managed = False
db_table = 'omo_rate'
Then, in views.py
class AccessDatabase(CreateView):
def form_valid(self, form, **kwargs):
cleaned_data = form.cleaned_data
dateRange = cleaned_data['dateRange']
dataObject = model_class.objects.using("databaseName").filter(date__range=[dateRange[0], dateRange[1]]).all().order_by("-id_date").values()
It returns the error:
django.db.utils.ProgrammingError: ('42S22', "[42S22] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid column name 'id'. (207) (SQLExecDirectW)")
And I try to find the root cause and find out it automatically add the ‘id’ column to the query. See the picture below
How to solve this problem?