Python Django模型-如何告诉Django查找自定义ID而不是默认ID
我有两张桌子,团队和投票。对于我的团队表,我使用一个名为“ID”的定制ID。在我的投票表中,我有一个名为“team”的外键来引用team表。我还将“团队”属性作为主键 问题是,当我转到投票表的注册路由时,它会给我一个属性错误“Team”对象没有属性“Team\u id” 我假设这是因为默认情况下Django在我的团队表中寻找一个名为“team_ID”的ID,而不是我定制的名为“ID”的ID 我如何解决这个问题 model.pyPython Django模型-如何告诉Django查找自定义ID而不是默认ID,python,django,Python,Django,我有两张桌子,团队和投票。对于我的团队表,我使用一个名为“ID”的定制ID。在我的投票表中,我有一个名为“team”的外键来引用team表。我还将“团队”属性作为主键 问题是,当我转到投票表的注册路由时,它会给我一个属性错误“Team”对象没有属性“Team\u id” 我假设这是因为默认情况下Django在我的团队表中寻找一个名为“team_ID”的ID,而不是我定制的名为“ID”的ID 我如何解决这个问题 model.py from django.db import models clas
from django.db import models
class Team(models.Model):
id = models.CharField(max_length=15, default="", primary_key=True)
name = models.CharField(max_length=30)
class Voting(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE, primary_key=True)
thumbUp = models.IntegerField(default=0)
thumbDown = models.IntegerField(default=0)
from rest_framework import serializers
from teams.models import (
Team,
Voting
)
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = "__all__"
class VotingSerializer(serializers.ModelSerializer):
# team = TeamSerializer()
class Meta:
model = Voting
fields = "__all__"
from rest_framework import routers
from .api import (
TeamViewSet,
VotingViewSet
)
router = routers.DefaultRouter()
router.register("api/teams", TeamViewSet, "teams")
router.register("api/voting", VotingViewSet, "voting")
from teams.models import Team
from rest_framework import viewsets, permissions
from .serializers import (
TeamSerializer,
VotingSerializer
)
# Team ViewSet
class TeamViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = TeamSerializer
# VotingSerializer ViewSet
class VotingViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = VotingSerializer
序列化程序.py
from django.db import models
class Team(models.Model):
id = models.CharField(max_length=15, default="", primary_key=True)
name = models.CharField(max_length=30)
class Voting(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE, primary_key=True)
thumbUp = models.IntegerField(default=0)
thumbDown = models.IntegerField(default=0)
from rest_framework import serializers
from teams.models import (
Team,
Voting
)
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = "__all__"
class VotingSerializer(serializers.ModelSerializer):
# team = TeamSerializer()
class Meta:
model = Voting
fields = "__all__"
from rest_framework import routers
from .api import (
TeamViewSet,
VotingViewSet
)
router = routers.DefaultRouter()
router.register("api/teams", TeamViewSet, "teams")
router.register("api/voting", VotingViewSet, "voting")
from teams.models import Team
from rest_framework import viewsets, permissions
from .serializers import (
TeamSerializer,
VotingSerializer
)
# Team ViewSet
class TeamViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = TeamSerializer
# VotingSerializer ViewSet
class VotingViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = VotingSerializer
url.py
from django.db import models
class Team(models.Model):
id = models.CharField(max_length=15, default="", primary_key=True)
name = models.CharField(max_length=30)
class Voting(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE, primary_key=True)
thumbUp = models.IntegerField(default=0)
thumbDown = models.IntegerField(default=0)
from rest_framework import serializers
from teams.models import (
Team,
Voting
)
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = "__all__"
class VotingSerializer(serializers.ModelSerializer):
# team = TeamSerializer()
class Meta:
model = Voting
fields = "__all__"
from rest_framework import routers
from .api import (
TeamViewSet,
VotingViewSet
)
router = routers.DefaultRouter()
router.register("api/teams", TeamViewSet, "teams")
router.register("api/voting", VotingViewSet, "voting")
from teams.models import Team
from rest_framework import viewsets, permissions
from .serializers import (
TeamSerializer,
VotingSerializer
)
# Team ViewSet
class TeamViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = TeamSerializer
# VotingSerializer ViewSet
class VotingViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = VotingSerializer
api.py
from django.db import models
class Team(models.Model):
id = models.CharField(max_length=15, default="", primary_key=True)
name = models.CharField(max_length=30)
class Voting(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE, primary_key=True)
thumbUp = models.IntegerField(default=0)
thumbDown = models.IntegerField(default=0)
from rest_framework import serializers
from teams.models import (
Team,
Voting
)
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = "__all__"
class VotingSerializer(serializers.ModelSerializer):
# team = TeamSerializer()
class Meta:
model = Voting
fields = "__all__"
from rest_framework import routers
from .api import (
TeamViewSet,
VotingViewSet
)
router = routers.DefaultRouter()
router.register("api/teams", TeamViewSet, "teams")
router.register("api/voting", VotingViewSet, "voting")
from teams.models import Team
from rest_framework import viewsets, permissions
from .serializers import (
TeamSerializer,
VotingSerializer
)
# Team ViewSet
class TeamViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = TeamSerializer
# VotingSerializer ViewSet
class VotingViewSet(viewsets.ModelViewSet):
queryset = Team.objects.all()
permission_classes = [permissions.AllowAny]
serializer_class = VotingSerializer
class VotingViewSet(ViewSet.ModelViewSet):
queryset=Team.objects.all()