SORU
17 Temmuz 2009, Cuma


Neden bazı model alanların birbiriyle çakışıyor?Django:

Kullanıcılar için 2 bağlantıları içeren bir nesne oluşturmak istiyorum. Örneğin:

class GameClaim(models.Model):
    target = models.ForeignKey(User)
    claimer = models.ForeignKey(User)
    isAccepted = models.BooleanField()

ama sunucu çalışırken aşağıdaki hataları alıyorum:

  • Erişimci 'hedef' saha 'Kullanıcı.ile çatışmalar alanı için'. gameclaim_set Tanımı için related_name bir değişken Ekle 'hedef'.

  • Erişimci alan '' ilgili alan ile çatışmalar 'Kullanıcı.bahis ATI için'. gameclaim_set Tanımı için related_name bir değişken Ekle''. bahis ATI

Bu hataları alıyorum neden ve nasıl giderileceğini açıklar mısınız lütfen?

CEVAP
17 Temmuz 2009, Cuma


Kullanıcı için iki yabancı anahtarları var. Django otomatik olarak kullanıcıdan ters bir ilişki genellikle gameclaim_set olan GameClaim, geri oluşturur. İki Sayılı zorunda çünkü ancak, belli ki bu imkansızdır gameclaim_set iki öznitelikleri olurdu. Ters ilişki için hangi Django söyleyin.

FK tanımı related_name özniteliğini kullanın. örneğin

class GameClaim(models.Model):
    target = models.ForeignKey(User, related_name='gameclaim_targets')
    claimer = models.ForeignKey(User, related_name='gameclaim_users')
    isAccepted = models.BooleanField()

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DominicFear

    DominicFear

    30 Kasım 2006
  • Hot For Nutrition

    Hot For Nutr

    26 ŞUBAT 2007
  • LavcoPriceTech

    LavcoPriceTe

    21 AĞUSTOS 2010