Добавьте параметр related_name в ForeignKey на WebsiteIP, например, так:
class Website(models.Model):
name = models.CharField(max_length = 100)
class WebsiteIp(models.Model):
website = models.ForeignKey(Website, primary_key = True, related_name="IPs")
ip = models.CharField(max_length = 40)
introduction_date = models.DateField()
Затем вы можете ссылаться на IP-адреса как сопоставления «многие к одному» с веб-сайта, например:
website = Website.objects.filter(name="blah")
if website.count():
IPs = website[0].IPs
Не проверено, конечно, но это должно привести вас в правильном направлении.Также проверьте: https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-one-relationships
В вашем admin.py, где у вас предположительно есть что-то вроде этого:
class WebsiteAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ['name']
ordering = ('name', )
Обновите до следующего:
class WebsiteIpInline(admin.TabularInline):
model = WebsiteIp
extra = 1
class WebsiteAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ['name']
inlines = ( WebsiteIpInline, )
ordering = ('name', )
Должен отображать то, что вы хотите!