簡體   English   中英

Django 中不存在關系“”

[英]relation " " does not exist in Django

我懷疑這是什么意思:

relation "clientes" does not exist
LINE 1: select nombre from Clientes where joindate between "2022-02-...

我覺得很奇怪; 或者因為我的 model 被稱為客戶而出現此錯誤; 我剛剛在 heroku 上進行了遷移,但出現此錯誤

在我看來,我有這個:

def list_clientes(request):


    if request.method == 'POST':
        fromdate=request.POST.get('fromdate')
        todate = request.POST.get('todate')
        searchresult=Clientes.objects.raw('select nombre from Clientes where joindate between "'+fromdate+'" and "'+todate+'"')
        return render(request,'Clientes/clientes-list.html',{'clientes':searchresult})

    else:
        displaydata = Clientes.objects.all()
    return render(request, 'Clientes/clientes-list.html', {'clientes': displaydata})



模型.py


class Clientes(models.Model):
    tipo = models.CharField(max_length=200)
    nombre = models.CharField(max_length=200)
    fecha_registro = models.DateTimeField(default=datetime.now)

    def __str__(self):
        return f'{self.nombre}'


設置.py


DATABASES = {
    'default': {
        'ENGINE':'django.db.backends.postgresql_psycopg2',
        'NAME':'sistemacarros_db',
        'USER':'postgres',
        'PASSWORD':'1234',
        'HOST':'localhost',
        'PORT':'5432',
        'OPTIONS':{
            'init_command':"SET sql_mode='STRICT_TRANS_TABLES'",
        }
    }
}

請使用Django ORM:

def list_clientes(request):
    if request.method == 'POST':
        fromdate=request.POST.get('fromdate')
        todate = request.POST.get('todate')
        searchresult = Clientes.objects.filter(fecha_registro__range=(fromdate, todate))
    else:
        searchresult = Clientes.objects.all()
    return render(request,'Clientes/clientes-list.html',{'clientes':searchresult})

注意:Django 的DateTimeField [Django-doc]有一個auto_now_add=…參數 [Django-doc]來處理時間戳。 這將在創建 object 時自動分配當前日期時間,並將其標記為不可編輯 ( editable=False ),這樣默認情況下它不會出現在ModelForm中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM