我試圖從用戶檢索數據。我有我的模式是這樣的:查詢與用戶fk檢索數據Django 1.11
from django.db import models
從django.contrib.auth.models導入用戶
這裏創建您的模型。
class informacionFacturacion(models.Model):
usuario = models.ForeignKey(User)
apellidos = models.CharField(max_length=100, default="editar")
nombres = models.CharField(max_length=100, default="editar")
telefono = models.CharField(max_length=100, default="editar")
email = models.EmailField(default="editar", null=False)
direccion_1 = models.CharField(max_length=100, default="editar")
direccion_2 = models.CharField(max_length=100, null=True, blank=True)
provincia = models.CharField(max_length=100, default="editar")
ciudad = models.CharField(max_length=100, default="editar")
codigoPostal = models.CharField(max_length=100, default="editar")
empresa = models.CharField(max_length=100, default="editar")
def __str__(self):
return self.usuario
我要更新用戶信息表:
from .models import informacionFacturacion
class informacionFacturacionForm(ModelForm):
class Meta:
model = informacionFacturacion
fields = [
"usuario",
"apellidos",
"nombres",
"telefono",
"email",
"direccion_1",
"direccion_2",
"provincia",
"ciudad",
"codigoPostal",
"empresa",
]
在我看來,我有我這樣的查詢
from django.contrib.auth.decorators import login_required
from .models import informacionFacturacion
from .forms import informacionFacturacionForm
@login_required
def datosPersonales(request):
form = informacionFacturacionForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
query = informacionFacturacion.objects.filter(usuario=request.user)
context = {
"titulo": "Datos personales | Cadenas Giordanino S.R.L" + request.user.username,
"body_class": "class= sidebar_main_open sidebar_main_swipe",
"form": form,
"infoFacturacion": query,
}
template = "micuenta/datosPersonales.html"
return render(request, template, context)
而這個查詢集是空的。
我需要在用戶配置文件來獲取這些數據
**更新:在後**的完整代碼。
**更新2:**用於在個人資料上顯示用戶數據,即時通訊使用「For循環」。該數據在html輸入的「value =」attr中被檢索。如果用戶沒有數據,則表單爲dosnt show。
這是我想要顯示數據的方式。我從這裏看到的相同形式填充這個表單。
非常感謝。
模型中的字段稱爲'user'而不是'user_id'。所以:'.filter(user = request.user)' – allcaps
不工作。 Queryset仍然[]:/ –
我將盡快用我的完整代碼更新問題 –