16

SQL Server で GUID によって結合されたテーブルがいくつかあります。現在、django で GUID のサポートを追加するためのカスタム フィールドをいくつか見つけましたが、可能であれば、ブログ投稿でコードを使用することをためらう傾向があります。GUID に参加し、新しいエントリに GUID を割り当てる以外に、GUID を使用するつもりはありません (ただし、これはオプションです)。ジャンゴの組み込み型を使用してこれを許可する方法はありますか? ある種のcharフィールドまたはバイナリフィールドを使用して、djangoを「だまして」それを使用して参加させることができますか?

助けがあれば、私はdjango-pyodbcを使用しています。

4

6 に答える 6

8

Django-extensions UUID フィールドを見てください

于 2010-04-05T06:46:19.717 に答える
0

私が行うとpython manage.py inspectdb、出力は次のようになります。

class SomeModel(models.Model):
    uid = models.TextField(primary_key=True)

class SomeOtherModel(models.Model):
    uid = models.TextField()

しかし、これはうまくいきません。何らかの理由で、uid が主キーの場合、これは機能しません。だから私はこれに変更します:

class SomeModel(models.Model):
    uid = models.TextField()

class SomeOtherModel(models.Model):
    somemodel = models.ForeignKey(SomeModel, db_column='uid', to_field='uid')

これは機能しているように見えますが、非常に遅いです。

于 2009-05-22T13:49:32.047 に答える
-3

実際に GUID を生成する必要がある場合:

guid = hashlib.sha1(str(random.random())).hexdigest()
于 2009-08-28T19:42:44.777 に答える