Ich habe zwei Tabellen RoomPriceDetails
und HotelDetails
. RoomPriceDetails
hat einen Fremdschlüssel, den ich auf das Primärschlüsselfeld mit dem Namen hotel_id
von HotelDetails
verweisen möchte. Ich habe to_field
Attribut dafür verwendet, aber es scheint, dass ich etwas falsch gehe. Es zeigt mir Fehler wieDjango to_field funktioniert nicht
ValueError: invalid literal for int() with base 10: 'BMH-1'.
, wenn ich versuche, die hotel_id
'BMH-1' in RoomPriceDetails
hinzuzufügen. "BMH-1" ist eine Hotel-ID in HotelDetails
. Wenn ich falsch liege, was ist der beste Weg, meinen Fremdschlüssel auf mein hotel_id
Feld in HotelDetails
zu setzen, um diese Werte zu akzeptieren.
Meine Modelle:
class RoomPriceDetails(models.Model):
room_type = models.CharField(max_length=255, primary_key=True)
hotel = models.ForeignKey(HotelDetails, to_field='hotel_id')
price_per_day = models.PositiveIntegerField(default=0)
class HotelDetails(models.Model):
hotel_id = models.AutoField(primary_key=True, db_column='hotel_id')
name = models.CharField(max_length=255)
email = models.CharField(max_length=255)
reg_no = models.CharField(max_length=255)
contact_no = models.CharField(max_length=10)
owner_name = models.CharField(max_length=255)
owner_email = models.CharField(max_length=255)
owner_contact_no = models.CharField(max_length=255)
address = models.CharField(max_length=400)
city = models.CharField(max_length=255)
state = models.CharField(max_length=255)
pincode = models.CharField(max_length=6)
sind Bist du sicher, dass "BMH-1" die 'hotel_id' ist? [Autofeld] (https://docs.djangoproject.com/fr/1/1/ref/models/fields/#autofield) ist ein ganzzahliges Feld, soweit das Dokument weiß ... – PRMoureu