这是我的第一个Django页面。我知道有很多这样的问题,但我还没有找到正确的答案
我有一个可以完美展示的数据库,我想允许用户添加新条目
models.py
class Server(models.Model):
client = models.ForeignKey(settings.AUTH_USER_MODEL, null=False, blank=False, on_delete=models.CASCADE)
name = models.CharField(primary_key=True, max_length=20)
ip = models.CharField(max_length=13)
class Usuario(models.Model):
id = models.AutoField(primary_key=True)
servidor = models.ForeignKey(Server, null=False, blank=False, on_delete=models.CASCADE)
correo = models.EmailField()
fpago = models.DateField('Fecha de pago', auto_now_add=True)
和视图.py
@login_required(login_url='login/')
def suscripciones(request):
obj_usuarios = Usuario.objects.all()
if request.method == 'POST':
servidor = request.POST.get('servidor')
correo = request.POST.get('correo')
consulta = Usuario(servidor=servidor, correo=correo)
consulta.save()
return render(request, 'APP/suscripciones.html',
{'obj_usuarios': obj_usuarios})
模型在没有request.method和consulta的情况下工作,但使用此代码,我得到以下错误:
无法分配“(带有服务器名称的字符串)”:“Usuario.servidor”必须是“服务器”实例
非常感谢
当您解析请求
servidor = request.POST.get('servidor')
时,您将收到一个 字符串“servidor”。要将其发送到Usuario
,请尝试检索Server
实例,如下所示:相关问题 更多 >
编程相关推荐