Skip to content

Commit

Permalink
fix: not installed psycopg
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasvinclav committed Mar 25, 2023
1 parent 1ba7d07 commit 5cb539e
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions src/unfold/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
from django.contrib.admin import TabularInline as BaseTabularInline
from django.contrib.admin import display, helpers
from django.contrib.admin.utils import lookup_field
from django.contrib.postgres.fields import ArrayField, IntegerRangeField
from django.contrib.postgres.search import SearchVectorField
from django.core.exceptions import ObjectDoesNotExist
from django.db import models
from django.db.models import (
Expand Down Expand Up @@ -55,6 +53,14 @@
UnfoldAdminUUIDInputWidget,
)

try:
from django.contrib.postgres.fields import ArrayField, IntegerRangeField
from django.contrib.postgres.search import SearchVectorField

HAS_PSYCOPG = True
except ImportError:
HAS_PSYCOPG = False

checkbox = forms.CheckboxInput({"class": "action-select"}, lambda value: False)

FORMFIELD_OVERRIDES = {
Expand All @@ -77,11 +83,17 @@
models.FloatField: {"widget": UnfoldAdminDecimalFieldWidget},
models.ImageField: {"widget": UnfoldAdminImageFieldWidget},
models.JSONField: {"widget": UnfoldAdminTextareaWidget},
ArrayField: {"widget": UnfoldAdminTextareaWidget},
SearchVectorField: {"widget": UnfoldAdminTextareaWidget},
IntegerRangeField: {"widget": UnfoldAdminIntegerRangeWidget},
}

if HAS_PSYCOPG:
FORMFIELD_OVERRIDES.update(
{
ArrayField: {"widget": UnfoldAdminTextareaWidget},
SearchVectorField: {"widget": UnfoldAdminTextareaWidget},
IntegerRangeField: {"widget": UnfoldAdminIntegerRangeWidget},
}
)

FORMFIELD_OVERRIDES_INLINE = copy.deepcopy(FORMFIELD_OVERRIDES)

FORMFIELD_OVERRIDES_INLINE.update(
Expand Down

0 comments on commit 5cb539e

Please sign in to comment.