5

Django Modellerinde otomatik kimlik oluşturmayı devre dışı bırakmak istiyorum. Bunu yapabilmek mümkün mü? Nasıl?Django'da otomatik kimlik oluşturma nasıl devre dışı bırakılır?

+0

Modelinize birincil anahtar bildirin (https://docs.djangoproject.com/en/1.8/ref/models/fields/#primary-key). Kimlik olmayan modeller desteklenmez (AFAIK) – Roba

+0

Evet, bu mümkün. Ama ya sadece bir kullanıcı için bir eşyayı saklamak istersem? Bu şeyler için kimliğe ihtiyacım yok. –

cevap

2

Yanıtta belirtildiği gibi, Otomatik Olmayan'da bir birincil anahtar bildirmeniz gerekir. Örneğin:

from django.db import models 

class Person(models.Model): 
    username = CharField(primary_key=True, max_length=100) 
    first_name = CharField(null=True, blank=True, max_length=100) 

primary_key=True bir alan ayarlayarak, unutmayın otomatik olarak benzersiz ve boş değil yapar. İyi şanslar!

+0

Evet, bu mümkün. Ama ya sadece bir kullanıcı için bir eşyayı saklamak istersem? Bu şeyler için kimliğe ihtiyacım yok. –

+0

Doğru, veritabanı tablolarınızda 3. normalleştirme şekliyle gitmeyeceğiniz kullanım durumları olabilir, ancak Django'da model olarak görünecek tablolara ihtiyacınız varsa, yapmanız gerekir. Sizin tarafınızdan çok az kayıp/kayıp yok, bu alanlar otomatik olarak yönetilebilir ve kullanılan alan hakkında pek tartışmayacaksınız ... – Roba

+0

Veritabanında görmediğiniz sürece, kodlayıcı olarak size gerçekten maruz kalmadı. ve bir çok güvenilirlik için eksi tepe. Bir DB'de garantili benzersiz bir anahtara sahip olmak, benim popomu yıllar içinde saydığımdan daha fazla kez kurtardı. – FlipperPA

İlgili konular