SORU
13 Temmuz 2010, Salı


Model alan Güney kullanarak yeniden adlandırmak için Nasıl Django -?

Bir model içinde belirli bir alan adını değiştirmek istiyorum:

class Foo(models.Model):
    name = models.CharField()
    rel  = models.ForeignKey(Bar)

değiştirmeniz gerekir:

class Foo(models.Model):
    full_name     = models.CharField()
    odd_relation  = models.ForeignKey(Bar)

Bu kullanarak Güney yapmak için en kolay yolu nedir?

CEVAP
13 Temmuz 2010, Salı


db.rename_column işlevini kullanabilirsiniz.

class Migration:

    def forwards(self, orm):
        # Rename 'name' field to 'full_name'
        db.rename_column('app_foo', 'name', 'full_name')




    def backwards(self, orm):
        # Rename 'full_name' field to 'name'
        db.rename_column('app_foo', 'full_name', 'name')

db.rename_column ilk bağımsız değişken tablo ismi, önemli Django creates table names nasıl hatırlamak için:

Django otomatik olarak model sınıfınızın ismi ve onu içeren uygulamasından bir veritabanı tablosunun adını almaktadır. Model veritabanı tablo adı. "manage.py startapp bir aralarında alt çizgi ile model sınıf adı, kullanılan" -- adı app etiket modeli katılarak inşa edilmiştir

Durumda bir çok ifadeli, deve kasalı model adı gibi Projectİtem, tablo adı olacak app_projectitem (yani, bir alt çizgi olmayacak eklenen arası project item onlar bile deve kasalı).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Kontor.TV

    Kontor.TV

    14 Mart 2006