Еще одна проблема "fk_name ' ' не является иностранным ключом для" [Python/Django]
Пожалуйста, не осуждайте мой вопрос. Я перепробовал все предложенные здесь варианты, но все еще безрезультатно.
вот мой код ---
admin.py
from django.contrib import admin
from .models import candidates_info, address
class addressInline(admin.TabularInline):
model = address
fk_name = 'id'
@admin.register(candidates_info)
class candidates_infoAdmin(admin.ModelAdmin):
fields =['last_name', 'first_name', 'middle_name', 'moniker']
inlines = [addressInline]
models.py
import datetime
from django.db import models
from django.utils import timezone
class candidates_info (models.Model):
last_name = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
middle_name = models.CharField(max_length=50)
#position = models.ForeignKey('positions', db_column='position_id', on_delete=models.CASCADE, null=False)
#birth_date = models.ForeignKey('birthdate', db_column='date_of_birth_id', on_delete=models.CASCADE, null=False)
#contact_info = models.ForeignKey('contact_info', db_column='contact_info_id', on_delete=models.CASCADE)
addr = models.ForeignKey('address', on_delete=models.SET_NULL, null=True)
moniker = models.CharField(max_length=35)
#party = models.ForeignKey('political_parties', db_column='political_parties_id', on_delete=models.CASCADE, null=False)
registration_dt = models.DateTimeField('date registered')
class address(models.Model):
lot_no = models.DecimalField(max_digits=5, decimal_places=0)
block_no = models.DecimalField(max_digits=5, decimal_places=0)
примечание: закомментированные коды (#) являются частью моего кода в models.py, который я временно отключил, чтобы проверить, не конфликтует ли он с объявлением foreignKey.
И еще одна вещь, пробовал объявлять и не объявлять fk_name в admin.py, но все равно безрезультатно. Пожалуйста, помогите, ребята. Я здесь уже несколько дней. Я не могу найти ошибку.
ТИА
btw. вот ошибка из консоли ---
<class 'votenow.admin.addressInline'>: (admin.E202) fk_name 'id' is not a ForeignKey to 'votenow.candidates_info'.
Измените свои модели, чтобы включить поле Foriegnkey с адресом
import datetime
from django.db import models
from django.utils import timezone
class candidates_info (models.Model):
last_name = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
middle_name = models.CharField(max_length=50)
#position = models.ForeignKey('positions', db_column='position_id', on_delete=models.CASCADE, null=False)
#birth_date = models.ForeignKey('birthdate', db_column='date_of_birth_id', on_delete=models.CASCADE, null=False)
#contact_info = models.ForeignKey('contact_info', db_column='contact_info_id', on_delete=models.CASCADE)
addr = models.ForeignKey('address', on_delete=models.SET_NULL, null=True)
moniker = models.CharField(max_length=35)
#party = models.ForeignKey('political_parties', db_column='political_parties_id', on_delete=models.CASCADE, null=False)
registration_dt = models.DateTimeField('date registered')
address =odels.ForeignKey(
Address, on_delete=models.CASCADE)
class Address(models.Model):
lot_no = models.DecimalField(max_digits=5, decimal_places=0)
block_no = models.DecimalField(max_digits=5, decimal_places=0)