Re: Error - module 'django.db.models' has no attribute 'FieldDoesNotExist' when adding FK relationship object

2021-08-11 Thread David Crandell
Try adding related_name='+' to your FK definition.

class ReleaseImageGallery(BaseImageGallery):
release = models.ForeignKey(Release, related_name='+', on_delete
=models.CASCADE)

class Meta:
verbose_name = "release image gallery"
verbose_name_plural = "release image galleries"

On Friday, August 6, 2021 at 6:07:52 PM UTC-5 Lloyd wrote:

> Addendum: the Release model is declared as follows:
>
> from django.db import models
> from tinymce import models as tinymce_models
>
> from artists.models import Artist
> from bands.models import Band
> from labels.models import Label
>
>
> class Release(models.Model):
> artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
> band = models.ForeignKey(
> Band,
> on_delete=models.CASCADE,
> blank=True, null=True
> )
> title = models.CharField(max_length=200)
> label = models.ForeignKey(Label, on_delete=models.CASCADE)
> cat_no = models.CharField(
> max_length=200,
> blank=True,
> null=True,
> default='UNKNOWN'
> )
> country = models.CharField(
> max_length=200,
> blank=True,
> null=True,
> default=None
> )
> RELEASE_FORMAT_CHOICES = [
> ('LP', 'LP'),
> ('10INCHALBUM', '10" ALBUM'),
> ('7INCHEP', '7" EP'),
> ('12INCHEP', '12" EP'),
> ('12INCHSINGLE', '12" SINGLE'),
> ('10INCHSINGLE', '10" SINGLE'),
> ('7INCHSINGLE', '7" SINGLE'),
> ]
> release_format = models.CharField(
> max_length=200,
> choices=RELEASE_FORMAT_CHOICES,
> blank=True,
> null=True,
> default=None
> )
> year = models.PositiveSmallIntegerField()
> genre = models.CharField(
> max_length=200,
> blank=True,
> null=True,
> default=None
> )
> bio = tinymce_models.HTMLField(blank=True, null=True)
> date_created = models.DateTimeField(auto_now_add=True)
> date_modified = models.DateTimeField(auto_now=True)
>
> class Meta:
> verbose_name = "release"
> verbose_name_plural = "releases"
>
> def __str__(self):
> return self.title
>
>
>
>
> I suspect that something is going on with migrations. All migrations have 
> been run and a user is already capturing data on a staging server, so I do 
> not want to recreate the database.
>
>
> Regards,
> ~ Lloyd
>
>
> On Sat, Aug 7, 2021 at 1:02 AM Lloyd Dube  wrote:
>
>> Hi,
>>
>> I have two models, ReleaseImageGallery and ReleaseImage as follows:
>>
>> class ReleaseImageGallery(BaseImageGallery):
>> release = models.ForeignKey(Release, on_delete=models.CASCADE)
>>
>> class Meta:
>> verbose_name = "release image gallery"
>> verbose_name_plural = "release image galleries"
>>
>> and
>>
>> class ReleaseImage(BaseImage):
>> release_image_gallery = models.ForeignKey(ReleaseImageGallery,
>> on_delete=models.CASCADE)
>> image = models.ImageField(upload_to='release-images/', blank=True, null=
>> True)
>> class Meta:
>> verbose_name = "release image"
>> verbose_name_plural = "release images"
>>
>>
>>
>> My admin.py file is as follows:
>> from django.contrib import admin
>>
>> from .models import ReleaseImageGallery, ReleaseImage
>>
>>
>> class ReleaseImageInline(admin.StackedInline):
>> model = ReleaseImage
>> extra = 1
>>
>> class ReleaseImageGalleryAdmin(admin.ModelAdmin):
>> inlines = [ReleaseImageInline]
>> list_filter = ['date_created', 'date_modified']
>> search_fields = ['title']
>>
>>
>> admin.site.register(ReleaseImageGallery, ReleaseImageGalleryAdmin)
>>
>> When I run the project and log into the admin site, all works fine.
>>
>> While creating a new ReleaseImageGallery, I try to add a new Release 
>> object (FK relationship) via a select list, an error is raised in the 
>> add_view as follows:
>>
>> [image: add-release-fk-object.png]
>>
>> ```
>> Environment:
>>
>>
>> Request Method: GET
>> Request URL: 
>> http://127.0.0.1:8000/admin/releases/release/add/?_to_field=id&_popup=1
>>
>> Django Version: 3.2.5
>> Python Version: 3.9.6
>> Installed Applications:
>> ['django.contrib.admin',
>>  'django.contrib.auth',
>>  'django.contrib.contenttypes',
>>  'django.contrib.sessions',
>>  'django.contrib.messages',
>>  'django.contrib.staticfiles',
>>  'tinymce',
>>  'nested_inline',
>>  'coresite.apps.CoreSiteConfig',
>>  'customadminoptions.apps.CustomAdminOptionsConfig',
>>  'baseimagegalleries.apps.BaseImageGalleriesConfig',
>>  'baseusers.apps.UsersConfig',
>>  'userprofiles.apps.UserProfilesConfig',
>>  'artists.apps.ArtistsConfig',
>>  'artistimagegalleries.apps.ArtistImageGalleriesConfig',
>>  'bands.apps.BandsConfig',
>>  'labels.apps.LabelsConfig',
>>  'releaseimagegalleries.apps.ReleaseImageGalleriesConfig',
>>  'releases.apps.ReleasesConfig']
>> Installed Middleware:
>> ('whitenoise.middleware.WhiteNoiseMiddleware',
>>  'django.middleware.security.SecurityMiddleware',
>>  'django.contrib.sessions.middleware.SessionMiddleware',
>>  'django.middleware.common.CommonMiddleware',
>>  'django.middleware.csrf.CsrfViewMiddleware',
>>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>>  'django.contrib.messages.middleware.MessageMiddleware',
>>  'django.middleware.clickjacking.XFrameOptionsMiddleware')
>>
>>
>>
>> Traceback (most recent call last):
>>   File 
>> 

Re: Error - module 'django.db.models' has no attribute 'FieldDoesNotExist' when adding FK relationship object

2021-08-06 Thread Lloyd Dube
Addendum: the Release model is declared as follows:

from django.db import models
from tinymce import models as tinymce_models

from artists.models import Artist
from bands.models import Band
from labels.models import Label


class Release(models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
band = models.ForeignKey(
Band,
on_delete=models.CASCADE,
blank=True, null=True
)
title = models.CharField(max_length=200)
label = models.ForeignKey(Label, on_delete=models.CASCADE)
cat_no = models.CharField(
max_length=200,
blank=True,
null=True,
default='UNKNOWN'
)
country = models.CharField(
max_length=200,
blank=True,
null=True,
default=None
)
RELEASE_FORMAT_CHOICES = [
('LP', 'LP'),
('10INCHALBUM', '10" ALBUM'),
('7INCHEP', '7" EP'),
('12INCHEP', '12" EP'),
('12INCHSINGLE', '12" SINGLE'),
('10INCHSINGLE', '10" SINGLE'),
('7INCHSINGLE', '7" SINGLE'),
]
release_format = models.CharField(
max_length=200,
choices=RELEASE_FORMAT_CHOICES,
blank=True,
null=True,
default=None
)
year = models.PositiveSmallIntegerField()
genre = models.CharField(
max_length=200,
blank=True,
null=True,
default=None
)
bio = tinymce_models.HTMLField(blank=True, null=True)
date_created = models.DateTimeField(auto_now_add=True)
date_modified = models.DateTimeField(auto_now=True)

class Meta:
verbose_name = "release"
verbose_name_plural = "releases"

def __str__(self):
return self.title




I suspect that something is going on with migrations. All migrations have
been run and a user is already capturing data on a staging server, so I do
not want to recreate the database.


Regards,
~ Lloyd


On Sat, Aug 7, 2021 at 1:02 AM Lloyd Dube  wrote:

> Hi,
>
> I have two models, ReleaseImageGallery and ReleaseImage as follows:
>
> class ReleaseImageGallery(BaseImageGallery):
> release = models.ForeignKey(Release, on_delete=models.CASCADE)
>
> class Meta:
> verbose_name = "release image gallery"
> verbose_name_plural = "release image galleries"
>
> and
>
> class ReleaseImage(BaseImage):
> release_image_gallery = models.ForeignKey(ReleaseImageGallery,
> on_delete=models.CASCADE)
> image = models.ImageField(upload_to='release-images/', blank=True, null=
> True)
> class Meta:
> verbose_name = "release image"
> verbose_name_plural = "release images"
>
>
>
> My admin.py file is as follows:
> from django.contrib import admin
>
> from .models import ReleaseImageGallery, ReleaseImage
>
>
> class ReleaseImageInline(admin.StackedInline):
> model = ReleaseImage
> extra = 1
>
> class ReleaseImageGalleryAdmin(admin.ModelAdmin):
> inlines = [ReleaseImageInline]
> list_filter = ['date_created', 'date_modified']
> search_fields = ['title']
>
>
> admin.site.register(ReleaseImageGallery, ReleaseImageGalleryAdmin)
>
> When I run the project and log into the admin site, all works fine.
>
> While creating a new ReleaseImageGallery, I try to add a new Release
> object (FK relationship) via a select list, an error is raised in the
> add_view as follows:
>
> [image: add-release-fk-object.png]
>
> ```
> Environment:
>
>
> Request Method: GET
> Request URL:
> http://127.0.0.1:8000/admin/releases/release/add/?_to_field=id&_popup=1
>
> Django Version: 3.2.5
> Python Version: 3.9.6
> Installed Applications:
> ['django.contrib.admin',
>  'django.contrib.auth',
>  'django.contrib.contenttypes',
>  'django.contrib.sessions',
>  'django.contrib.messages',
>  'django.contrib.staticfiles',
>  'tinymce',
>  'nested_inline',
>  'coresite.apps.CoreSiteConfig',
>  'customadminoptions.apps.CustomAdminOptionsConfig',
>  'baseimagegalleries.apps.BaseImageGalleriesConfig',
>  'baseusers.apps.UsersConfig',
>  'userprofiles.apps.UserProfilesConfig',
>  'artists.apps.ArtistsConfig',
>  'artistimagegalleries.apps.ArtistImageGalleriesConfig',
>  'bands.apps.BandsConfig',
>  'labels.apps.LabelsConfig',
>  'releaseimagegalleries.apps.ReleaseImageGalleriesConfig',
>  'releases.apps.ReleasesConfig']
> Installed Middleware:
> ('whitenoise.middleware.WhiteNoiseMiddleware',
>  'django.middleware.security.SecurityMiddleware',
>  'django.contrib.sessions.middleware.SessionMiddleware',
>  'django.middleware.common.CommonMiddleware',
>  'django.middleware.csrf.CsrfViewMiddleware',
>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>  'django.contrib.messages.middleware.MessageMiddleware',
>  'django.middleware.clickjacking.XFrameOptionsMiddleware')
>
>
>
> Traceback (most recent call last):
>   File
> "/Users/sd/Library/Caches/pypoetry/virtualenvs/afridisc-sWjK8x-o-py3.9/lib/python3.9/site-packages/django/db/models/options.py",
> line 608, in get_field
> return self.fields_map[field_name]
>
> During handling of the above exception ('_to_field'), another exception
> occurred:
>   File
> "/Users/sd/Library/Caches/pypoetry/virtualenvs/afridisc-sWjK8x-o-py3.9/lib/python3.9/site-packages/nested_inline/admin.py",
> line 217, in add_view
> f = opts.get_field(k)
>   File
>