Python Django模型-如何告诉Django查找自定义ID而不是默认ID

Python 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

我有两张桌子,团队和投票。对于我的团队表,我使用一个名为“ID”的定制ID。在我的投票表中,我有一个名为“team”的外键来引用team表。我还将“团队”属性作为主键

问题是,当我转到投票表的注册路由时,它会给我一个属性错误“Team”对象没有属性“Team\u id”

我假设这是因为默认情况下Django在我的团队表中寻找一个名为“team_ID”的ID,而不是我定制的名为“ID”的ID

我如何解决这个问题

model.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
序列化程序.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()