簡體   English   中英

Django中的反向訪問器沖突

[英]Reverse accessor clashes in Django

錯誤:1)user.Login.password:(fields.E304)“ Login.password”的反向訪問器與“ Login.username”的反向訪問器發生沖突。 2)user.Login.username:(fields.E304)“ Login.username”的反向訪問器與“ Login.password”的反向訪問器沖突。

models.py

from django.db import models
from django.core.urlresolvers import reverse

class User(models.Model):
     first_name = models.CharField(max_length=50)
     last_name = models.CharField(max_length=50)
     username = models.CharField(max_length=100)
     password = models.CharField(max_length=50)
     confirm_password = models.CharField(max_length=50)
     email = models.EmailField(max_length=100)
     position = models.CharField(max_length=50)

     def get_absolute_url(self):
           return reverse('user:register', kwargs={'pk': self.pk})

class Login(models.Model):
     username = models.ForeignKey(User, on_delete=models.CASCADE)
     password = models.ForeignKey(User, on_delete=models.CASCADE)

     def __str__(self):
          login = {'username': self.username, 'password': self.password}
          return login

您可以使用related_name屬性解決此問題:

class Login(models.Model):
     username = models.ForeignKey(User, on_delete=models.CASCADE, related_name="username_users")
     password = models.ForeignKey(User, on_delete=models.CASCADE, related_name="password_users")

但是我沒有得到您與用戶具有fk關系的密碼和用戶名的原因!!!

暫無
暫無

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

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