손병우
손병우

Reputation: 1

How do i use the ForeignKey in Choices?

Here is my models.py

class Devtool(models.Model):
  name = models.CharField(max_length=50, verbose_name='이름')
  kind = models.CharField(max_length=50, verbose_name='종류')
  content = models.TextField(verbose_name="개발툴 설명")

class Post(models.Model):
  #   devtool_CHOICES = (
  #     ('django', 'django'),
  #     ('react', 'react'),
  #     ('spring', 'spring'),
  #     ('node.js', 'node.js'),
  #     ('java', 'java'),
  #     ('C++', 'C++'),
        devtool = models.ForeignKey(choices=Devtool.name, verbose_name="예상 개발툴", null = True)

I want to replace devtool_CHOICES to "Devtool.name" How can I do?

Upvotes: 0

Views: 35

Answers (1)

Waket Zheng
Waket Zheng

Reputation: 6331

Maybe:

class Devtool(models.Model):
    name = models.CharField(max_length=50, verbose_name='이름')
    kind = models.CharField(max_length=50, verbose_name='종류')
    content = models.TextField(verbose_name="개발툴 설명")
    
    def __str__(self):
        return self.name


class Post(models.Model):
     devtool = models.ForeignKey(
         Devtool, verbose_name="예상 개발툴", null=True, on_delete=models.SET_NULL
     )

Upvotes: 1

Related Questions