Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Django Database Engine for Filemaker using pyodbc

Project description

django-filemaker-pyodbc

A Django Custom Database Engine that works with Filemaker using pyodbc.

Initial components derived from https://github.com/lionheart/django-pyodbc. Using that package as a guide was very helpful.

Use with a little caution as some functions in some components are expecting a MS-SQL backend.

Those will be changed in due course as needed. Pull requests welcome.

Note that NO testing has been done as yet on migrations.

Our first use case was talking to an existing filemaker solution.

Example model. Note managed = False and db_table must match the table object name in the Filemaker Relationship Graph window.


\# -*- coding: utf-8 -*-

from \_\_future\_\_ import unicode_literals

from django.db import models

class Depot(models.Model):

    id = models.IntegerField(primary_key=True,help_text='id',db_column='id') 
    uuid = models.UUIDField(null=True,blank=True,help_text='uuid',db_column='uuid',db_index=True,unique=True) 

    name = models.CharField(max_length=1024,null=True,help_text='134.13',db_column='depot_name',db_index=True)

    filemaker_base_table_id = 134

    def __str__(self):
        return '%s id: %d' % (self.name, self.id)

    class Meta:
        db_table = 'depot'
        managed = False
        verbose_name = 'Depot'
        verbose_name_plural = 'DepotList'


To use.

  • pip install django-filemaker-pyodbc

  • Install ODBC Drivers for Filemaker

  • Create an odbc connection to the Filemaker solution and test that the credentials work.

  • install unixodbc

  • Add references to the Filemaker odbc library that unixodbc can see.

    Example content within /usr/local/etc/odbcinst.ini

    [filemaker]

    Driver = /Library/ODBC/FileMaker ODBC.bundle/Contents/MacOS/fmodbc.so

    DriverManagerEncoding=UTF-16

    Setup =

    To find where the settings are for unixodbc try odbcinst -j

  • Add your connection details to your settings.py file.

DATABASES = {
    'default': {
        'ENGINE': 'django_filemaker_pyodbc',
        'HOST': 'fully qualified domain or ip address',
        'PORT': '2399',
        'USER': 'filemaker user account with odbc/jdbc permissions',
        'PASSWORD': '********',
        'NAME': 'filemaker file name without the extension - preferably without spaces',
        'OPTIONS' : {
            'driver' : 'filemaker',
            'driver_supports_utf8' : True,
			'autocommit' : True,
        },
    }
}

Filemaker SQL is a partial implementation of SQL 92 See Filemaker 16 SQL Reference for more details.

Versions:

• 0.0.3

Removed dependencies requiring django_pyodbc to be installed.

Added support for autocommit with True as the default.

• 0.0.2

Resolved issue with clobbering str types as binary on save

• 0.0.1

Initial version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-filemaker-pyodbc, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size django_filemaker_pyodbc-0.0.3-py3-none-any.whl (31.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size django-filemaker-pyodbc-0.0.3.tar.gz (23.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page